zoukankan      html  css  js  c++  java
  • Entity Framework Core系列教程-10-一对一关系约定

    Entity Framework Core 一对一关系约定

    Entity Framework Core引入了默认约定,该约定自动配置两个实体之间的一对一关系(EF 6.x或更早版本不支持一对一关系的约定)。
    在EF Core中,一对一关系在两侧都需要参考导航属性。下列Student和StudentAddress实体遵循一对一关系的约定:

    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。这将在数据库中的对应表Student和StudentAddresses中产生一对一的关系,如下所示。
    在这里插入图片描述

    EF Core在StudentAddresses表的NotNull外键列StudentId上创建了唯一索引,如上所示。这样可以确保外键列StudentId的值在StudentAddress表中必须唯一,这是一对一关系所必需的。

    注意:Entity Framework Core支持唯一约束,但EF 6不支持唯一约束,因此EF Core包括一对一关系的约定,但不包括EF6.x。
    如果实体不遵循约定,则使用Fluent API配置一对一关系。

  • 相关阅读:
    8 pandas模块,多层索引
    7 numpy 傅里叶,提取图片轮廓
    6 DataFrame处理丢失数据--数据清洗
    5 pandas模块,DataFrame类
    4 pandas模块,Series类
    3 numpy模块
    2 线性代数基础
    1 Ipython、Jupyter 入门
    jdk安装与环境变量配置(一劳永逸)
    对jsp可见域的变量感悟
  • 原文地址:https://www.cnblogs.com/AlexanderZhao/p/12878814.html
Copyright © 2011-2022 走看看