在自动生成的代码中的DataSource上找不到DataMember属性

时间:2014-07-23 13:10:39

标签: c# datamember

我知道以前曾经问过这个问题,但是我已经四处看了看,我找不到与我的问题完全匹配的任何内容,所以对于欺骗帖子道歉。

我在C#中编写一个使用内部SqlCE DB的.NET#.5应用程序。每当我在调试器中运行应用程序时,我都会在下面的BindingSource行标题中列出错误:

this.Load += new System.EventHandler(this.Main_Load);
((System.ComponentModel.ISupportInitialize)(this.dbCDRDataSet1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.animalControlBindingSource)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();

这是我的主窗体(Main.Designer.cs)的Designer.cs部分。如果我注释掉代码,它似乎完美无缺,但由于它的自动代码,它每次都会弹回。

数据库结构的一些背景知识:

我的数据库是dbCDR.sdf。我有一个数据集dbCDEDataSet1.xsd,它包含所有表。其中一个表称为AnimalControl。

如果我尝试重写有问题的行,Intellisense会给出与autogen代码相同的结果。

我尝试删除并重新创建数据集(使用相同的名称)几次,只是为了查看它是否会强制进行更完整的刷新。

我可以根据需要提供更多详细信息,请告诉我。非常感谢!

2 个答案:

答案 0 :(得分:0)

我找到了!抱歉浪费你的时间。

Stack Trace的表名为“Animal Control”(带有空格)。当我第一次看到它时,我忽略了它。

Dunno是如何实现的,但我在Designer.cs代码中找到了令人讨厌的代码并更改了它。现在很高兴。

谢谢@Hylaean,强迫我更仔细地查看我的Stack Trace! : - )

答案 1 :(得分:0)

在animalControlBindingSource中,您需要将源名称设置为" AnimalControl"如果它的正确名称不是您使用的空间的名称。

应该在某处的设计师档案中。