EF CodeFirst 一對一、一對多、多對多關系


一對一關系

如圖,無需專門指定,系統會默認在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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM