EF 6.0具有TPH和TPC继承

时间:2014-11-11 13:30:12

标签: c# entity-framework

我首先使用代码EF 6.1,然后我遇到了以下情况

public abstract class BaseClass
{
     public int BaseId { get; set;}
     public int Remark { get; set;}
}

public class FirstDerivedClass : BaseClass
{

}

public class SecondDerivedClass : BaseClass
{
      public int NumberOfDays { get; set;}
}

public class DatabaseContext:DbContext
{
     public DbSet<BaseClass> Data { get; set;}
}

并且仅在一个表中的数据库中生成的表具有附加列Discriminator的数据以及NumberOfDays列,这是预期的,因为它是TPH。

现在我正在尝试添加另一个表 SecondDerivedClass ,只有Id(PK,FK)和属性 NumberOfDay ,所以SecondDerivedClass将是TPC

所以我尝试了以下

public class DatabaseContext:DbContext
{
     public DbSet<BaseClass> Data { get; set;}
     public DbSet<SecondDerivedClass> DerivedData { get; set;}

}

当我尝试将数据添加到DerivedData时,鉴别器字段不会被类 SecondDerivedClass 的名称填充,如何强制EF填充此字段?

有什么想法可以帮助我吗?

0 个答案:

没有答案