我正在使用 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”类型,因为它映射了使用实体拆分或其他形式继承的类型的继承属性。