2012-01-03 97 views
0

我有以下表格:手冊實體框架關聯

Table Group (
    id INT PK, 
    year INT PK, 
    name VARCHAR 
) 

Table Person (
    id PK, 
    GroupID INT, 
    name VARCHAR 
) 

數據庫沒有定義外鍵,所以我想創建從Person表GroupID本集團表id手動關聯。

爲此,我右鍵單擊人員並添加關聯。我創建了許多對一個協會,一切正常。問題是當我去添加映射。因爲Group表有兩個主鍵實體框架是從Person表中的東西映射到year鍵。

我需要做些什麼來創建關聯?

回答

0

您不能創建這種關聯,因爲EF遵循與數據庫相同的規則。主體實體的所有PK列必須作爲獨立實體中的FK列存在。

唯一的方法可以是某些數據庫視圖選擇具有ID和名稱的不同組,並將其映射爲只讀實體並在這兩者之間構建導航。我沒有嘗試,但我想它應該工作。它會有自己的缺點,因爲你將有兩個完全不相關的實體組,並且與人員相關的實體不會接受任何修改(沒有映射自定義SQL命令或存儲過程來插入,更新和刪除操作)。