Entity-framework-7将Fluent API配置组织到一个单独的类中

时间:2016-01-18 13:31:07

标签: c# entity-framework ef-fluent-api

我很熟悉如何将流畅的API配置组织到EF6上的单独类中,但是如何通过EF7实现这一点?

以下是如何使用EF6执行此操作的示例:

ModelConfigurations.cs

public class ModelConfigurations : EntityTypeConfiguration<Blog>
{
     ToTable("tbl_Blog");
     HasKey(c => c.Id);
// etc..
}

并从OnModelCreating()

调用它
    protected override void OnModelCreating(DbModelbuilder modelBuilder)
    {
          modelBuilder.Configurations.Add(new ModelConfigurations());
// etc...
    }

在EF7上,我无法解析EntityTypeConfiguration?从单独的类实现流畅的API调用的正确方法是什么?

2 个答案:

答案 0 :(得分:5)

试试这个:

public class BlogConfig
{
    public BlogConfig(EntityTypeBuilder<Blog> entityBuilder)
    {
        entityBuilder.HasKey(x => x.Id);
        // etc..
    }
}

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    new BlogConfig(modelBuilder.Entity<Blog>());
}

答案 1 :(得分:1)

我通常为我的所有实体类做的是提供一个静态方法,在我的上下文实现中从我的android update project -p .方法调用:

OnModelCreating

更进一步,您甚至可以使用属性自动执行流程并动态生成上下文类。这样你只需要处理POCO,就不要触及上下文。