1

提案どおりにコードを書いていますが、

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 マッピングです。なぜそうなるのかは不明です。ありがとう

4

1 に答える 1

0

http://blog.cincura.net/231783-ultimate-efv4-ctp4-code-first-full-mapping-example-using-firebird/

上記の例の著者、翻訳者の部分には、何らかの理由で正しい TPT ソリューションがあります。

http://romiller.com/2010/09/29/ef-ctp4-tips-tricks-code-first-inheritance-mapping/

私にはうまくいきません

于 2010-10-30T23:16:35.240 に答える