How do I add all EntityTypeConfiguration<> from current assembly automatically?

会有一股神秘感。 提交于 2020-01-01 04:27:06

问题


How do I add all EntityTypeConfiguration<> from current assembly automatically?

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
    }
}

回答1:


It should be very easy as DbModelBuilder offers special method for that. Try add this within OnModelCreating method:

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



回答2:


Simpler Answer

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


来源:https://stackoverflow.com/questions/24221964/how-do-i-add-all-entitytypeconfiguration-from-current-assembly-automatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!