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

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"); 
    } 
}
posted @ 2015-06-23 15:18  senki  阅读(213)  评论(0编辑  收藏  举报