如何在Core Data中为团队,游戏和主场/客场球队关系建模?

时间:2011-09-04 06:21:38

标签: ios xcode core-data

我正在尝试使用核心数据来代表体育联盟的日程安排。在我的模型中,我有一个名为Team的实体和一个名为Game的实体。每个团队都会有很多游戏。每个游戏都有两个团队,一个被确定为主队,另一个被确定为客队。

在我目前的方法中,我在游戏实体中定义了“homeTeam”和“awayTeam”关系。这些关系中的每一个都是一对,并将其目标设置为Team实体。我还在Team实体中定义了一个to-many“游戏”关系,其目的地设置为Game实体。

这种方法的问题在于我无法以任何适当的方式设置反向关系。这需要团队/游戏关系与Game / homeTeam和Game / awayTeam关系相反,而这是不允许的(据我所知)。我当然可以将它们定义为单向关系,但我开始收到Xcode警告,我不确定这是一件好事。

我还考虑从Game实体中移除awayTeam和homeTeam关系,并将其替换为团队关系。这种关系对于Team来说是多对多的,最小值和最大值为2.但是,这种方法不允许我区分主队和客队,我将需要在我的应用中做

我很欣赏任何有关在CoreData中表示这种关系的最佳方式的建议。毫无疑问,我自己使用自己的数据库层来实现这一点,但我宁愿依赖CoreData而不是在这里提出一个自行开发的解决方案。

1 个答案:

答案 0 :(得分:1)

我将如何做到这一点:

Game有两个一对一的关系,homeTeamguestTeam

Team有两个一对多关系,homeGamesoutGameshomeGames的倒数为homeTeamoutGames的倒数为guestTeam

有道理吗?