【问题标题】:How do I add all EntityTypeConfiguration<> from current assembly automatically?如何自动从当前程序集中添加所有 EntityTypeConfiguration<>?
【发布时间】:2014-06-14 16:28:31
【问题描述】:

如何自动添加当前程序集中的所有 EntityTypeConfiguration?

public class Entities : DbContext
{
    public Entities()
        : base("Entities")
    {
    }

    public virtual DbSet<User> Users { get; set; }

    // ...

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

        foreach(var configuration in this.GetAllConfigurations())
        {
            modelBuilder.Configurations.Add(configuration);
        }
    }

    private ... GetAllConfigurations()
    {
        // TODO: Get all configurations from current ASSEMBLY
    }
}

【问题讨论】:

    标签: c# entity-framework reflection


    【解决方案1】:

    这应该很容易,因为DbModelBuilder 提供了特殊的方法。尝试在OnModelCreating 方法中添加这个:

    modelBuilder.Configurations.AddFromAssembly(typeof(MyDbContext).Assembly);
    

    【讨论】:

      【解决方案2】:

      更简单的答案

      modelBuilder.Configurations.AddFromAssembly(GetType().Assembly);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-20
        • 1970-01-01
        • 2018-05-05
        • 1970-01-01
        • 2017-12-01
        相关资源
        最近更新 更多