提案どおりにコードを書いていますが、
public class A
{
public int id {get;set;}
public string Astring {get;set;}
}
public class B : A
{
public string Bstring {get;set;}
}
builder.Entity<A>().MapHierarchy( u=> new { ... }).ToTable("A");
builder.Entity<B>().MapHierarchy( u=> new { ... }).ToTable("B");
... = 言及されたすべてのプロパティと u.Id の両方があります。
また、モデル ビルダーを使用する場合は、両方のプロパティ
とプロパティがDbSet<A> A {get;set;}
あります。DbSet<B> B {get;set;}
ObjectSet
builder.Entity<A>
builder.Entity<B>
これにより、識別子列と Id、Astring、Bstring を含むテーブル A が作成されます。これはデフォルトの TPH マッピングです。なぜそうなるのかは不明です。ありがとう