EF Core学习笔记三

一、Flunet API

Fluent API是一种用于配置EF模型的编程方式,它通过链式调用方式来构建复杂的对象或配置。

Flunet API提供了一种比数据注解(Data Annotaions)更灵活和强大的方式定义模型。

1、使用场景与优势

        1.1、复杂关系的配置,当实体之间存在复杂的关系,如多对多感谢,并且需要对这种关系进行详细的配置(比如中间表的字段、关系的约束条件等)是,Fluent API能够踢狗比数据注释更精细的控制。

        1.2、定制花配置需求,如果对数据库表的命名规则、列的命名规则、数据类型击默认值等有特殊的定制化要求,Flunet API可以更容易实现这些配置,而不受数据注释的固定模式限制。

        1.3、类型安全,与数据注解相比,Fluent API 是类型安全的,编译器可以捕获错误。

2、使用步骤

        2.1、创建上下文类型,首先定义实体类、继承DbContext的上下文类;

        2.2、配置实体和关系,打开继承DbContext的上下文类,重写OnModelCreating方法
        OnModelCreating方法是用来配置模型的关键方法;
        OnConfiguring方法是用来配置数据库连接的 

        使用 ModelBuilder 配置实体‌:在 OnModelCreating 方法中,使用传入的 ModelBuilder 对象来配置实体

  • 配置主键:
    modelBuilder.Entity<Blog>()
        .HasKey(b => b.BlogId);
  • 配置属性:
    modelBuilder.Entity<Blog>()
        .Property(b => b.Url)
        .IsRequired()
        .HasMaxLength(200);
  • 配置关系:
    modelBuilder.Entity<Blog>()
        .HasMany(b => b.Posts)
        .WithOne(p => p.Blog)
        .HasForeignKey(p => p.BlogId)
        .OnDelete(DeleteBehavior.Cascade);
    
    
    //一对多
    entity.HasMany(e => e.Orders)
          .WithOne
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值