一對一關系
如圖,無需專門指定,系統會默認在Person表中生成字段Pet_Id為Pet表的外鍵(一對一)。
Require:必要的(一對一) Optional:可選的(一對零) Principal:主要的 Dependent:次要的
使用WithRequiredPrincipal會在Pet表中生成外鍵,使用WithRequiredDependent會在Person表中生成外鍵。(其他組合一樣的道理)
一對多關系
理解:一個人可以有多個寵物,一個寵物只能有一個主人
在實體類person的配置類中,person實體HasMany(有多個)Pets,WithRequired(有一個必須的)Person,HasForeignKey(設置外鍵)
也可以在Pet的配置類中這樣配置:
this.HasRequired(p => p.Person).WithMany(p => p.Pets).HasForeignKey(p => p.FK_Person_Id);
多對多關系
注:因為使用Pet實體設置的,所以左鍵命名PetId,右鍵命名PersonId