2012-07-25 66 views
1

我想从数据库创建一个实体模型。当我添加表格时,EF没有读取我现有的FK约束。如果我在同一个项目中创建一个Linq to SQL文件并添加相同的表,它将读取约束而不会造成问题。实体框架不读取FK关系,LINQ到SQL是否

这是怎么回事?

+0

您的FK约束是否使用主键? – dtryan 2012-07-25 18:12:41

+0

是的,我所有的密钥在SQL中都被正确定义为密钥(EDM可以正确读取这些密钥,甚至可以将小钥匙图标放在它们上面)。 EDM不会读取键之间的FK约束。 – Peter 2012-07-25 18:16:56

+0

你在添加表格或视图吗? EF不够聪明,可以通过视图使用按键。它只适用于表格。 – Brannon 2012-07-25 18:45:12

回答

2

最近我有同样的问题 - 我不知道为什么,但不知何故实体框架与一些非聚集索引冲突。

类似的情况:

http://blog.degree.no/2012/09/missing-relations-in-entityframework-model-when-generating-from-database/

你可以尝试删除你的索引,重新生成模型,然后再添加索引并更新再生模型 - 它为我工作。

+0

感谢您的信息!不幸的是,我没有能力改变数据库设计,但这听起来像是基于我的索引设置方式的可能原因。也许我会有机会在未来对数据库设计进行更改并利用您的答案。 – Peter 2012-11-02 21:54:09