修改EF的默认约定模型的方式

时间:2021-01-31 11:26:34

EF默认使用约定的模型,但是有时类不遵从约定,我们需要能够执行进一步的配置。对此有两种方法:数据注释Fluent API

  1. 注释

         class User
    {
    [Key]
    public int Key{ get; set; }
    public string Name { get; set; }
    }
  2. Fluent API

大多数模型配置都可使用简单数据注释进行。Fluent API 是一种更高级的方法,除某些数据注释不可能支持的更高级配置外,可以指定包含数据注释所有功能的模型配置。数据注释和 Fluent API 可一起使用。

要访问Fluent API,需要在DbContext中重写OnModelCreating方法

public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
public DbSet<User> Users { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.Property(u => u.DisplayName)
.HasColumnName("display_name");
}
}