2010-07-13 70 views
2

在通过“ADO.Net实体数据模型”向导的同时,我从数据库中选择3个表以添加到我的edmx文件,并且仅生成文件时三张桌子之一在那里。没有错误或警告解释为什么没有添加其他表。如果我尝试自己添加一个失败的表,那么没有任何反应。 我正在使用VS 2010,SQL Server 2008.实体框架模型 - 不允许我添加某些表

有关为什么这些数据库表无法创建的任何想法?我意识到这个问题没有太多的细节,但没有太多细节的情况 - 它确实是一个带有3个表的数据库,其中2个无法通过向导创建而没有错误。

谢谢。

回答

4

可能是因为失败的2个表没有索引。

此外,如果您打开记事本(或其他文本阅读器)中的edmx文件,错误消息是可以在那里。

+0

我不认为没有索引是EF不包括他们的原因,他们总是包括在内。但是有时候,它们被包含在只读对象中,例如当主键丢失时。打开edmx文件的好处 – 2010-07-13 14:34:33

+0

您稍微混淆了术语 - 您的意思是(主键)而不是索引。但这不太可能是因为实体框架可以处理没有密钥的表和视图。直到.NET 3.5 SP1,实体键被推断为包含所有不可空列的组合键。我不确定在.NET 4.0中是否有所改变。如果所有列都可以为空,则推断实体键可能仍然失败。在这种情况下,XML中会出现一条错误消息,因此可以使用+1来查看EDMX。 – 2010-07-13 14:53:42