尝试将数据表添加到数据集
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 相关的代码之前,我花了一天时间试图让它正常工作。幸运的是,这个项目足够小,我可以在合理的时间内完成。你会希望他们现在已经修好了。以上是关于尝试将数据表添加到数据集的主要内容,如果未能解决你的问题,请参考以下文章