【发布时间】:2020-02-10 16:19:06
【问题描述】:
我有一个项目,在业务中它将动态创建表,它与 netcore3.0 和 EF 一起使用。 在动态表创建后创建dbcontext实例时,我会使用Assembly Emit创建一个新类型的表,并使用OnModelCreating方法添加表对应的dbset。
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public virtual DbSet<Book> Books { get; set; }
protected override void OnModelCreating(ModelBuilder builder)
{
//Use assmbly emit to create dynamic types
var types = CreateDynamicTypes();
foreach (var type in types)
{
builder.Entity(type);
}
base.OnModelCreating(builder);
}
}
但是在创建dbcontext后创建表时,我还不知道如何添加新的dbset,因为OnModelCreating只运行1次。
问题:如何在创建 dbcontext 实例后添加新的 dbset?
【问题讨论】:
标签: c# entity-framework dynamic