我有以下实体,我遇到的问题是我有一个继承自MediaItem的类型游戏。我已将游戏集合传递给视图,我希望能够将游戏评级(存储在LibraryItemRating中)显示为评级。目前我不能这样做,因为当我到Game.Libraryitems我有一个集合..
我希望与MediaItem的LibraryItems关联为1 - *而不是* - 1。 唯一合理的参考约束是Principal:MediaItem(MediaItemID)和Dependent:(MediaItem)。设置此项时,我只能有* - 1关系,否则我会收到这两个错误:
多重性在角色中无效 'LibraryItem'处于关系中 'MediaItemLibraryItem'。因为 依赖角色属性不是 关键属性,上限 依赖角色的多样性 必须是*。
和
多重性在角色中无效 'MediaItem'的关系 'MediaItemLibraryItem'。有效值 用于主要角色的多重性 是'0..1'或'1'。
任何帮助将不胜感激!以下是截图:
注意:MediaItem(MediaItemID)映射到LibraryItem(MediaItem)
答案 0 :(得分:2)
你不能将这种多样性与当前的设置相提并论。您当前的设置说: One MediaItem可以位于多个LibraryItems中。这意味着MediaItem
是主体且LibraryItem
是依赖的,因此它具有FK属性{{1} }。如果你想要反向关系,意思是:一个LibraryItem可以有多个MediaItems。在这种情况下MediaItem
将成为主体,LibraryItem
将变为依赖,因此你也必须改变你的实体:
MediaItem
和LibraryItem
之间的关系。它还应该删除双方的导航属性。MediaItem
实体中的MediaItem
属性。 LibraryItem
FK属性添加到LibraryItem
实体MediaItem
和LibraryItem
之间创建新关联,并映射参考约束以满足您的需求。