【发布时间】:2011-09-04 06:21:37
【问题描述】:
我正在尝试使用 Core Data 来表示体育联盟的赛程。在我的模型中,我有一个名为 Team 的实体和一个名为 Game 的实体。每支球队都会有很多场比赛。每场比赛将有两支球队,一支被确定为主队,另一支被确定为客队。
在我目前的方法中,我在 Game 实体中定义了“homeTeam”和“awayTeam”关系。这些关系中的每一个都是一对一的,并且将它们的目的地设置为 Team 实体。我还在 Team 实体中定义了一对多“游戏”关系,其目的地设置为 Game 实体。
这种方法的问题是我无法以任何适当的方式设置反向关系。这将要求 Team/games 关系与 Game/homeTeam 和 Game/awayTeam 关系相反,这是不允许的(据我所知)。我当然可以将这些定义为单向关系,但我开始收到 Xcode 警告,我不确定这是否是一件好事。
我还考虑过从 Game 实体中删除 awayTeam 和 homeTeam 关系,并将其替换为 team 关系。这种关系与 Team 是多对多的,最小值和最大值为 2。但是,这种方法不允许我区分主队和客队,我需要在我的应用程序中做到这一点.
对于在 CoreData 中表示此类关系的最佳方式的任何建议,我将不胜感激。毫无疑问,我可以使用自己的 DB 层自己实现这一点,但我宁愿依赖 CoreData,也不愿在这里提出自己开发的解决方案。
【问题讨论】: