Entity Framework Core配置对象之间一对一关系

Entity Framework Core配置对象之间一对一关系是江湖人士编写的关于如何使用EF Core配置实数据库的主外键关系,并通过这些配置反映到实体对象的嵌套关系上。

Entity Framework Core 引入了默认约定,这些约定自动配置两个实体之间的一对一关系(EF 6.x或先前不支持一对一关系的约定)。

在EF Core中,一对一关系需要两侧的参考导航属性。以下StudentStudentAddress实体遵循一对一关系的约定。

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
       
    public StudentAddress Address { get; set; }
}

public class StudentAddress
{
    public int StudentAddressId { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Country { get; set; }

    public int StudentId { get; set; }
    public Student Student { get; set; }
}

在上面的示例中,Student实体包括类型的引用导航属性,StudentAddress并且StudentAddress实体包括外键属性StudentId及其对应的引用属性Student。这将导致相应表StudentsStudentAddresses数据库中的一对一关系,如下所示。

Entity Framework Core配置对象之间一对一关系 1

EF Core StudentIdStudentAddresses表中的NotNull外键列上创建唯一索引,如上所示。这确保了外键列的值StudentIdStudentAddress表中必须是唯一的,这是一对一关系所必需的。

注意: Entity Framework Core支持唯一约束,但EF 6中不支持,这就是为什么EF Core包含一对一关系但不包括EF 6.x的约定。

如果实体不遵循约定,请使用Fluent API配置一对一关系。

进一步阅读

  • 使用Fluent API配置一对一关系
  • 使用Fluent API配置一对多关系
  • 使用Fluent API配置多对多关系

猜你喜欢

本站最新优惠

Namesilo优惠:新用户省 $1 域名注册-优惠码:45D%UYTcxYuCloZ 国外最便宜域名!点击了解更多

特别优惠:免费赠送 $100 Vultr主机-限时优惠!英文站必备海外服务器!点击了解更多

VPS优惠:搬瓦工优惠码:BWH3OGRI2BMW 最高省5.83%打开外面世界的一款主机点击了解更多

加入电报群

【江湖人士】(jhrs.com)原创文章,作者:江小编,如若转载,请注明出处:https://jhrs.com/2019/26982.html

扫码加入电报群,让你获得国外网赚一手信息。

文章标题:Entity Framework Core配置对象之间一对一关系

(0)
上一篇 2019-03-11 12:38
下一篇 2019-03-13 13:17

热门推荐

发表回复

登录后才能评论
国外老牌便宜域名服务商Namecheap注册com域名大优惠,抢到就赚到,优惠码:NEWCOM698
$6.98/年
直达官网