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