目前,如果我想使用Fluent API来规定每个类型的表继承策略,我必须执行以下操作:
modelBuilder.Entity<User>().ToTable("User");
modelBuilder.Entity<ContentItem>().ToTable("ContentItem");
modelBuilder.Entity<MarketItem>().ToTable("MarketItem");
如果我以某种方式忘记为新的继承实体添加命令,它将破坏我的架构。
我想用伪代码做的是:
foreach (ModelType T in AllModelTypes)
{
modelBuilder.Entity<T>().Table(T.ToString());
}
EF Fluent API内置了什么内容可以实现这一目标吗?
如果没有,有没有办法可以实现如上所述的foreach循环(迭代类型?)
答案 0 :(得分:2)
使用Entity Framework 6,这应该做你想要的:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Types().Configure(t =>t.ToTable(t.ClrType.Name));
}