簡體   English   中英

如何使Entity Framework TPT繼承為每種類型建立一個表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM