之間的多重關係有兩個實體:實體框架:處理兩個實體
- 集團
- Yuvak - 人
「其他」的人設計的後端誰沒有組。 (null)
一個Yuvak - 人將永遠有一個家庭組。 (1 => 1)並且沒有組可以控制。
一個Nirikshak(頭) - 人將永遠有一個家庭組。 (1 => 1)但他也會有多個組來控制 - GroupsOfNirikshak。 (1 =>多)
A組將具有多個Yuvaks(1 =>多)
和所有組大多將只有一個頭。 (剛開始一個新的組可能不會有任何的頭,但零個或多個yuvaks-人。)
[Table("Group")]
public class Group
{
[Key]
public int Id { get; set; }
.....
public virtual List<Yuvak> Yuvaks { get; set; }
[ForeignKey("Nirikshak")]
public int? NirikshakId { get; set; }
public virtual Yuvak Nirikshak { get; set; }
}
[Table("Yuvak")]
public class Yuvak
{
[Key]
public int Id { get; set; }
.....
[ForeignKey("HomeGroup")]
public int? HomeGroupId { get; set; }
public virtual Group HomeGroup { get; set; }
public virtual List<Group> GroupsOfNirikshak { get; set; }
}
我已經有兩個實體1 => 1的關係(可爲空)提供的兩個外鍵。 現在要管理多對多關係,如果它們不爲null,它應該自動創建具有「Yuvak_Id」和「Group_Id」列的第三個表。但正如這裏FKs是空的; (組:「Yuvak_Id」和Yuvak:「Group_Id」)
我應該怎麼做才能保持Yuvak-HomeGroup應該使用上面提供的只有外鍵和多對多的關係(Head-GroupsOfNirikshak & Group-Yuvaks)它應該創建一個單獨的表。
我可以爲多對多關係創建一個單獨的表:(ID,YuvakID,GroupID)我該怎麼做?
我想這樣做,但有不同的錯誤象下面這樣:
- 財產「家庭組」的類型 「YTKGoshthiManagment.Models.Yuvak」聲明的導航已經配置了 衝突的外鍵。
- 多重性在'Yuvak_HomeGroup_Target'中的 關係'Yuvak_HomeGroup'中無效。因爲屬性不是關鍵屬性,所以依賴角色的多重性的上界必須是'*'。
.....
等。