我想從數據庫創建一個實體模型。當我添加表格時,EF沒有讀取我現有的FK約束。如果我在同一個項目中創建一個Linq to SQL文件並添加相同的表,它將讀取約束而不會造成問題。實體框架不讀取FK關係,LINQ到SQL是否
這是怎麼回事?
我想從數據庫創建一個實體模型。當我添加表格時,EF沒有讀取我現有的FK約束。如果我在同一個項目中創建一個Linq to SQL文件並添加相同的表,它將讀取約束而不會造成問題。實體框架不讀取FK關係,LINQ到SQL是否
這是怎麼回事?
最近我有同樣的問題 - 我不知道爲什麼,但不知何故實體框架與一些非聚集索引衝突。
類似的情況:
你可以嘗試刪除你的索引,重新生成模型,然後再添加索引並更新再生模型 - 它爲我工作。
感謝您的信息!不幸的是,我沒有能力改變數據庫設計,但這聽起來像是基於我的索引設置方式的可能原因。也許我會有機會在未來對數據庫設計進行更改並利用您的答案。 – Peter 2012-11-02 21:54:09
您的FK約束是否使用主鍵? – dtryan 2012-07-25 18:12:41
是的,我所有的密鑰在SQL中都被正確定義爲密鑰(EDM可以正確讀取這些密鑰,甚至可以將小鑰匙圖標放在它們上面)。 EDM不會讀取鍵之間的FK約束。 – Peter 2012-07-25 18:16:56
你在添加表格或視圖嗎? EF不夠聰明,可以通過視圖使用按鍵。它只適用於表格。 – Brannon 2012-07-25 18:45:12