我有一个表tblEvent和另一个表tblContact。在tblEvent中有一个字段ContactID,它通过外键链接到tblContact中的ContactID。我已经三重检查;外键在数据库中。EF不会从表中的外键生成外键关联
实体框架模型不会像其他外键一样为其生成导航属性和外键关联。
对于此外键,EF不会为其生成导航属性会有什么不同?
谢谢!
我有一个表tblEvent和另一个表tblContact。在tblEvent中有一个字段ContactID,它通过外键链接到tblContact中的ContactID。我已经三重检查;外键在数据库中。EF不会从表中的外键生成外键关联
实体框架模型不会像其他外键一样为其生成导航属性和外键关联。
对于此外键,EF不会为其生成导航属性会有什么不同?
谢谢!
如果您使用的是3.5sp1,可能是问题所在。
本文涉及一些更改,如果没有其他内容,您可以随时在实体设计器中手动添加fk关联,如文章中所述。
http://blogs.msdn.com/b/efdesign/archive/2009/03/16/foreign-keys-in-the-entity-framework.aspx
这是.NET 4.0。什么是疯狂的,它承认其他外键 - 只是不是这一个和另外两个。它承认的其他外键。 – rsteckly 2010-11-10 05:57:43
我发现这里的解决方案:
Why doesn't EF 4 generate association for FK relation to column with unique index?
它不承认它的原因是是因为表上有外键字段唯一的非聚集索引。
显然,唯一的非聚集索引允许无法映射的空值。
那么解决方案是什么?我使用Id作为主键和GUID来引用另一个表。我不想使用GUID作为主键。我知道我可以使用另一个属性作为聚集索引,但它似乎是错误的。 – NSAddict 2014-05-03 11:30:13
ContactID是由唯一密钥还是主密钥构建的?我们可以看到SQL – 2010-11-10 01:30:34
SQL没有tblEvent,只有一个FK to tblLanguage。你有什么问题吗? tblEvent或tblLanguage。我们需要查看tblContact和tblEvent的SQL。 – RPM1984 2010-11-10 09:22:46