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>

这导致创建表 A 时带有一个鉴别器列和 Id、Astring、Bstring。这是默认的 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 回答