我有一个使用每个层次结构的表的实体框架模型。基类是抽象的,有两个派生类。
我想在这两个派生类和另一个类之间创建关联。这些是多对多的关系,所以要经过一个联合表。
添加第一个关联是正常的,但是当我添加第二个关联时,我收到此错误:
错误3034:从第1074行,第1082行开始映射片段时出现问题:具有可能不同键的两个实体映射到同一行。确保这两个映射片段将AssociationSet的两端映射到相应的列。
下面是模型相关部分的图像(LabelImages和PresetImages关联是给出麻烦的):
答案 0 :(得分:1)
有点晚但无论如何:
如果您与底层数据库相关,这实际上是不可能的。实体框架将为图像表和产品表之间的关联创建一个连接表,而实际上需要两个不同的连接表。
我建议在数据库中使用不同的选项来继承hierarcy。或者把图像和产品之间的关系,而不是子类型。您可以在产品类上添加方法以过滤特定类型,一个用于标记图像的预览。或者在上下文类中添加方法,以使用OfType检索产品的特定类型的图像。