[英]Manual Entity Framework association
我有以下表格:
Table Group (
id INT PK,
year INT PK,
name VARCHAR
)
Table Person (
id PK,
GroupID INT,
name VARCHAR
)
該數據庫沒有定義外鍵,因此我想創建一個從Person表GroupID
到Group表id
的手動關聯。
為此,我右鍵單擊“人”並添加關聯。 我創建了一個多對一關聯,並且一切正常。 問題是當我去添加映射時。 因為Group
表具有兩個主鍵,所以實體框架是從Person表中映射到year
鍵的。
創建關聯需要做什么?
您無法創建此類關聯,因為EF遵循與數據庫相同的規則。 來自主體實體的所有PK列必須作為FK列存在於從屬實體中。
唯一的方法可以是某些數據庫視圖選擇具有ID和Name的不同組,並將其映射為只讀實體,並在這兩者之間建立導航。 我沒有嘗試過,但我認為它應該可以工作。 這將有其自身的缺點,因為您將有兩個完全不相關的組實體,而與人相關的實體將不接受任何修改(不映射自定義SQL命令或存儲過程以進行插入,更新和刪除操作)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.