0
我正在使用TPC继承将复杂对象模型映射到现有数据库。当我在继承结构的中间层次创建关系时,我遇到了一个问题。实体框架代码第一:具有中间关系的多级TPC继承
public class ParentClass
{
}
public class MiddleClass : ParentClass
{
public Int64 RelationshipId;
public Relationship Relationship;
}
public class ChildClass1 : MiddleClass
{
}
public class ChildClass2: MiddleClass
{
}
public class Relationship
{
public string RelationshipInfo { get; set; }
}
public class MyEntities : DbContext
{
public DbSet<ParentClass> Parents
public override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ChildClass1>.Map(m => m.MapInheritedProperties);
modelBuilder.Entity<ChildClass2>.Map(m => m.MapInheritedProperties);
modelBuilder.Entity<MiddleClass>.HasRequired(mc => mc.Relationship).WithMany().HasForeignKey(mc => mc.RelationshipId);
}
}
我的模型将工作,直到我添加modelBuilder.Entity<MiddleClass>.HasRequired(mc => mc.Relationship).WithMany().HasForeignKey(mc => mc.RelationshipId);
线。我是否必须将这种关系映射到每个孩子?
我收到的错误是'类型“MiddleClass”无法按照定义进行映射,因为它将继承的属性映射到使用实体分割或其他形式的继承的类型。