首页 > 其他 > 详细

EF CodeFirst 一对一、一对多、多对多关系

时间:2019-12-19 09:45:30      阅读:524      评论:0      收藏:0      [点我收藏+]

一对一关系

技术分享图片

技术分享图片

技术分享图片

如图,无需专门指定,系统会默认在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

EF CodeFirst 一对一、一对多、多对多关系

原文:https://www.cnblogs.com/1016391912pm/p/12065683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!