尝试将数据表添加到数据集

Posted

技术标签:

【中文标题】尝试将数据表添加到数据集【英文标题】:Trying to add a datatable to a DataSet 【发布时间】:2011-06-02 22:37:12 【问题描述】:

我正在尝试使用新表(以编程方式创建,而不是从数据库)更新现有数据集。在我对 DataSet 执行任何操作的那一刻,无论是添加表格,还是将表格移动到设计器的其他位置,或者实际上是 任何 将其标记为“未保存” " 应用程序无法构建并在“DataSet1.xsd”中给出 100 多个错误(但该文件是 DataSet.xsd 没有“1”),表明类中已经声明了某某方法,它在real 类,而不是这个无处不在的 DataSet1.xsd 类。我修复它的唯一方法是实际进入我的 VCS 并还原文件;只是撤消不会修复它,它仍然会抛出这些错误,但在恢复后它会编译并正确运行,虽然我没有改变任何东西!

我在这里做错了什么?这个“DataSet1.xsd”类中抛出了错误,但实际文件只是“DataSet.xsd”

我已经进行了清理/重建,但无济于事。我已经很久没有使用过数据集了,所以我忘记了这里是否有一些我需要做的怪癖......

编辑:所以我发现对 DataSet.xsd 进行更改会创建导致错误的 DataSet1.Designer.cs,删除该文件可以修复错误,但似乎不会影响我的更改。但是,虽然我手动添加的表出现在数据集设计器上,但它们并未放入代码中,我无法以编程方式访问它们。

【问题讨论】:

【参考方案1】:

然而,这不是一个真正的答案:

恕我直言,整个数据集范式是糟糕设计的糟糕实现。

一些有趣的阅读:

http://www.4guysfromrolla.com/articles/050405-1.aspx 并跟进:http://www.4guysfromrolla.com/articles/051805-1.aspx

以及关于 SO 的精彩讨论:Why do we still use DataSets in .NET?

【讨论】:

同意,但它是现有代码,所以别无选择。我发现我可以复制 DataSet1.xsd 的内容(它确实添加了我放在设计器上的东西)然后删除它,然后它再次编译。奇怪。 @Allan:可爱。您是否应用了所有的 Visual Studio 服务包?我记得几年前遇到过这个确切的问题。在删除所有与 dataset.xsd 相关的代码之前,我花了一天时间试图让它正常工作。幸运的是,这个项目足够小,我可以在合理的时间内完成。你会希望他们现在已经修好了。

以上是关于尝试将数据表添加到数据集的主要内容,如果未能解决你的问题,请参考以下文章

从 2 个数据集填充表。在同一个 td 中添加数据数据

如何向线性回归数据集添加异常值?

如何在数据集c#中向现有数据表添加行?

SSAS 将现有多维数据集从一个环境添加到另一个环境

无法将 y 截距添加到线性模型?

.Net 将索引添加到数据表(数据集)