Как добавить все EntityTypeConfiguration из текущей сборки автоматически?

Как добавить все 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
    }
}

2 ответов


Это должно быть очень легко, как DbModelBuilder предлагает специальный метод для этого. Попробуйте добавить это в OnModelCreating способ:

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

Более Простой Ответ

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