• 创建模型
    • 方法和配置
      • 流式API
      • 数据注解

    创建模型

    Entity Framework 使用一组惯例来构建基于实体类型的形状的模型。你可以指定额外的配置来补充或者覆盖被惯例所发现的内容

    本文介绍的配置可以应用于针对任何数据存储的模型,并且可以应用于任何关系数据库。提供程序还可以启用为特定数据存储指定的的配置。查看 数据库提供程序 可了解提供程序指定配置的相关内容。

    提示

    你可以在 GitHub 上查阅当前文章涉及的代码样例。

    方法和配置

    流式API

    你可以重写派生上下文类型中的 OnModelCreating 方法,使用 ModelBuilder API 来配置你的模型。这是模型配置的最强大的方法,它允许你在不修改实体类型的情况下为它们指定配置。流式 API 配置具有最高的优先级,所以它会覆盖掉惯例和数据注解所做的配置。

    1. class MyContext : DbContext
    2. {
    3. public DbSet<Blog> Blogs { get; set; }
    4. protected override void OnModelCreating(ModelBuilder modelBuilder)
    5. {
    6. modelBuilder.Entity<Blog>()
    7. .Property(b => b.Url)
    8. .IsRequired();
    9. }
    10. }

    数据注解

    你还可以将特性(我们称其为 数据注解)应用到你的类型和属性上。数据注解会覆盖惯例,但会被流式 API 所做的配置给覆盖。

    1. public class Blog
    2. {
    3. public int BlogId { get; set; }
    4. [Required]
    5. public string Url { get; set; }
    6. }