我正在尝试从类层次结构生成模式:
public class BaseEntity
{
public int Id { get; set; }
}
public class BaseTransaction : BaseEntity
{
// common fields
}
public class MyTransaction : BaseTransaction
{
// type-specific fields
}
使用流畅的API进行DbContext配置:
public DbSet<MyTransaction> MyTransactions { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<MyTransaction>().Map(m =>
{
m.MapInheritedProperties();
m.ToTable("MyTransactions");
});
// ...
}
我想获得一个包含所有字段的表(从所有超类中继承)。 此方面有效,但EF生成Discriminator列:Discriminator(nvarchar(128),null),这是TPH的典型特征。 我想明确地使用TPC。
任何帮助表示感谢。
答案 0 :(得分:0)
如果有任何人碰巧遇到类似的问题,请检查是否有一些类继承自使用其他Discriminator列映射的类。
如果某个类是继承链的一部分,则EF会添加此列。