实体框架7将Fluent API配置组织到一个单独的类中 [英] Entity-framework-7 Organizing Fluent API configurations into a separate class

查看:125
本文介绍了实体框架7将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?

解决方案

尝试这样:

  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>());
}


I'm familiar how to organize the fluent API configurations into a separate class on EF6, but how is this achieved with EF7?

Here is an example how to do it with EF6:

ModelConfigurations.cs

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

and to call it from OnModelCreating()

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

On EF7 I cant resolve the EntityTypeConfiguration? What is the correct way to implement fluent API calls from a separate class?

解决方案

Try this:

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>());
}

这篇关于实体框架7将Fluent API配置组织到一个单独的类中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆