我怎么能使实体框架TPT继承建立一个表每个类型
本文关键字:一个 类型 建立 怎么能 实体 框架 继承 TPT | 更新日期: 2023-09-27 18:15:37
我试图使继承TPT实体框架为每种类型构建表。我搜索了网站,看到了所有,但我基于他们的代码只会为所有人建立一个表这是我的类
public class Foo
{
[Key]
public int Id { get; set; }
public int MainFooProp { get; set; }
}
public class FooA : Foo
{
public int FooAProp { get; set; }
}
public class FooB : Foo
{
public int FoobProp { get; set; }
}
和我的上下文是
public DbSet<FooA> FooAs { get; set; }
public DbSet<FooB> FooBs { get; set; }
,在modelBuilder中我使用
modelBuilder.Entity<Foo>().ToTable("Foos")
.Map<FooA>(fa => fa.Requires("FooType").HasValue(1))
.Map<FooB>(fb => fb.Requires("FooType").HasValue(2));
我希望它为每个包括Foo建立一个表它应该生成如下图所示的东西我真正想要的图表
,但不幸的是,它只创建一个包含所有属性的表。对不起,伙计们,但我真的很想让它工作
看起来答案被删除了,所以我使用的解决方案
modelBuilder.Entity<Foo>().ToTable("Foos")
modelBuilder.Entity<FooA>().ToTable("Foos")
modelBuilder.Entity<FooB>().ToTable("Foos")1