我從我的數據庫中生成了一個實體框架模型(4.0)。我沒有設計數據庫,也沒有對模式進行任何控制,但有幾個表沒有定義外鍵約束,但卻有一個隱式關係定義。實體框架 - 手動添加導航屬性
例如:
我有以下幾列一個表就叫人: GenderID RaceID
有兩個性別和種族的表,但沒有在人民表的外鍵。
當我導入模型時,它沒有爲這些關係添加導航屬性。我試圖手動添加它,但從角色和角色被禁用。我不知道如何自己添加關係。我該怎麼做呢?
我從我的數據庫中生成了一個實體框架模型(4.0)。我沒有設計數據庫,也沒有對模式進行任何控制,但有幾個表沒有定義外鍵約束,但卻有一個隱式關係定義。實體框架 - 手動添加導航屬性
例如:
我有以下幾列一個表就叫人: GenderID RaceID
有兩個性別和種族的表,但沒有在人民表的外鍵。
當我導入模型時,它沒有爲這些關係添加導航屬性。我試圖手動添加它,但從角色和角色被禁用。我不知道如何自己添加關係。我該怎麼做呢?
是的 - 這不是那麼簡單。
這裏就是你要做的:
1 - 右鍵單擊設計師,添加 - >協會
2 - 設置的關聯和基數(人*。1分性別,人民* ..1種族)
3 - 去到模型瀏覽器 - >協會
4 - 鼠標右鍵點擊你新建的協會,單擊屬性
5 - 在這裏你需要設置密鑰和級聯方案的終結點。確保你得到正確的端點。您也可以在此爲您的隱式導航屬性設置引用約束。
6 - 將導航屬性映射到相關表/字段。
7 - 驗證您的模型,交叉手指。
希望這會有所幫助。
我碰到了this blog post,它提出了以下解決方案,這對我很好(不幸的是我無法讓RPM1984在我的情況下工作)。
+1第4點讓我做對了,用RPM194答案忽略了這一點。 – 2014-05-21 18:21:09
+1用於保存我的頭髮剩下的部分。我將添加#6需要更改關聯的屬性頁面中的外鍵列,參照約束設置。點擊[...]以打開參考約束對話框,並將設計器插入子表中的虛擬字段更改爲從屬屬性。 – 2011-12-17 23:25:55
您還必須轉到子表的屬性並刪除設計者添加的虛擬字段(並且該字段不映射到子表中的任何實際字段)。 – 2011-12-17 23:41:47
在查看的情況下,還要確保您的主鍵定義正確(右鍵單擊選擇相關字段,在屬性中將它們標記爲EntityKey)。 否則,您可能會得到'多重性在關係中的角色中無效因爲相關角色指的是關鍵屬性...' – 2015-04-17 00:32:18