问题
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