我有一个类层次结构,它是数据库中的TPH。所以我们有一个班级Base
,以及从中继承的孩子。我们说它们是ChildrenA
,ChildrenB
,ChildrenC
。
Base
类层次结构与另一个类层次结构(也在数据库中的TPH中表示)具有概念关系,其中基类为RelatedBase
,具有子类RelatedChildrenA
,{{1 },RelatedChildrenB
。
概念关系是:
RelatedChildrenC
只能与ChildrenA
RelatedChildrenA
只能与ChildrenB
RelatedChildrenB
只能与ChildrenC
我正在使用independent association RelatedChildrenC
方法的实体框架流畅映射,以避免将外键id作为属性公开。
因此,基本上,从TPH层次结构到另一个TPH层次结构只有一个外键。
鉴于这个外键在数据库中被称为RelatedId,我试图表达我的流畅映射如下:
MapKey
不幸的是,这会产生以下错误:
在模型生成期间检测到一个或多个验证错误: RelatedId:Name:类型中的每个属性名称必须是唯一的。属性 名称'RelatedId'已定义。 RelatedId:名称:每个属性 类型中的名称必须是唯一的。属性名称“RelatedId”已经存在 定义
是否可以将相同的子属性映射到相同的基本外键?