C# 如何使实体框架TPT继承为每种类型构建一个表
我正在尝试创建一个继承TPT实体框架来为每种类型构建表。我搜索了该站点,看到了所有类型的表,但他们基于的代码只为所有类型构建一个表 这是我的课C# 如何使实体框架TPT继承为每种类型构建一个表,c#,asp.net,sql-server,asp.net-mvc,entity-framework,C#,Asp.net,Sql Server,Asp.net Mvc,Entity Framework,我正在尝试创建一个继承TPT实体框架来为每种类型构建表。我搜索了该站点,看到了所有类型的表,但他们基于的代码只为所有类型构建一个表 这是我的课 public class Foo { [Key] public int Id { get; set; } public int MainFooProp { get; set; } } public class FooA : Foo { public int FooAProp { get; set; } } pu
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; }
公共DbSet FooAs{get;set;}
公共DbSet 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));
modelBuilder.Entity().ToTable(“Foos”)
.Map(fa=>fa.Requires(“FooType”).HasValue(1))
.Map(fb=>fb.Requires(“FooType”).HasValue(2));
我想让它为每个人建立一个表,包括Foo
它应该制作类似于此图的内容
但不幸的是,它只生成一个包含所有属性的表。
抱歉,伙计们,我真的非常想让它工作起来看起来答案被删除了,所以我选择了我使用的解决方案
modelBuilder.Entity<Foo>().ToTable("Foos")
modelBuilder.Entity<FooA>().ToTable("Foos")
modelBuilder.Entity<FooB>().ToTable("Foos")1
modelBuilder.Entity().ToTable(“Foos”)
modelBuilder.Entity().ToTable(“Foos”)
modelBuilder.Entity().ToTable(“Foos”)1
看起来答案被删除了,所以我选择了我使用的解决方案
modelBuilder.Entity<Foo>().ToTable("Foos")
modelBuilder.Entity<FooA>().ToTable("Foos")
modelBuilder.Entity<FooB>().ToTable("Foos")1
modelBuilder.Entity().ToTable(“Foos”)
modelBuilder.Entity().ToTable(“Foos”)
modelBuilder.Entity().ToTable(“Foos”)1
不确定您使用的是哪个版本的EF,但我认为这还不是EF core的功能。不确定您使用的是哪个版本的EF,但我认为这还不是EF core的功能。