zoukankan      html  css  js  c++  java
  • code First 三 Fluent API

     Entity Framework Fluent API用于配置域类以覆盖约定

    在实体框架6中,DbModelBuilder类充当Fluent API,我们可以使用它来配置许多不同的东西。它提供了比数据注解属性更多的配置选项。

    写流利API配置,覆盖OnModelCreating的方法DBContext在一个上下文类。

     

    使用Fluent API的实体映射:

        

    使用Fluent API的属性映射:

       

    配置列名称,类型和顺序:

     

    为属性配置Null或NotNull列:

        

    配置列大小:

      

    配置并发列:

        

    配置一对 零/一 关系:

    当我们使用默认主键的时候:

    当我们需要配置主键和外键的时候:

    使用Fluent API配置一对一关系:

      数据库中我们看不到外键,但是确实是存在一对一的关系

        

    在EF 6中配置一对多关系

           公约1,导航属性来约定:

       

    注意引用属性是可以为空的,所以它Grade_GradeIdStudents表中创建一个可为空的外键列您可以Fluent API 配置可以为空的外键。

     约定2,集合导航属性

          

      公约3,  公约1和2的结合

       

      公约4 两端完全定义的关系将创建一对多的关系

       

    使用Fluent API配置一对多关系

     大多数情况下,您不需要在实体框架中配置一对多关系,因为一对多关系约定涵盖所有组合但是,您可以使用Fluent API来配置关系以使其可维护。

     

    .HasRequired<grade>(s => s.CurrentGrade)指定该Student实体具有所需的CurrentGrade属性这将在DB中创建NotNull外键列

    .WithMany(g => g.Students) 指定Grade实体包含许多Student实体

    .HasForeignKey<int>(s => s.CurrentGradeId); 指定Student实体中外键属性

    使用Fluent API配置NotNull ForeignKey:

     

    使用Fluent API配置级联删除:

       

    在Code-First中配置多对多关系:

    DataAnnotation中的多对多

     

    使用Fluent API配置多对多关系:

     

  • 相关阅读:
    openpyxl模块的读写使用及mongodb概念
    MongoDB数据库的下载安装及配置方法
    利用while循环写的简单小游戏猜数字
    爬虫之爬取豆瓣top250电影排行榜及爬取斗图啦表情包解读及爬虫知识点补充
    红薯网防爬措施与斗图啦及豆瓣实战案例
    (小知识)结局不会的问题的解决流程
    spring2.5.6 jar包
    Struts2的DMI动态方法调用
    Struts2.1.6 jar包
    Hibernate3.3.2 jar包
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/8086862.html
Copyright © 2011-2022 走看看