[英]How can i make Entity Framework TPT inheritance to build one table per each type
我正在嘗試制作一個繼承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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.