【问题标题】:How would I model this many-to-many relationship in Core Data?我将如何在 Core Data 中为这种多对多关系建模?
【发布时间】:2011-07-06 23:52:31
【问题描述】:

我有这个核心数据关系:

Deck <<-->> Cards <-->> Card Defaults

还有:Deck <-->> Card Defaults

我将如何对此进行建模,以便能够创建一个包含许多卡的套牌,每张卡只有一个不同的默认值?我不确定 Core Data 如何能够关联这样一个事实,即对于每一副牌,每张牌只有一个默认值。从Deck <<-->> Cards <-->> Card Defaults 看来,Core Data 似乎会认为套牌中的每张牌都可能有许多默认值。

但是,如果我这样做Cards <--> Card Default,那么我将无法为不同的套牌设置不同的卡默认值。

这里有什么我遗漏的吗?

感谢您的帮助!

【问题讨论】:

  • 您是否使用“-->”表示一对一关系,使用“-->>”表示一对多关系?

标签: database-design core-data model many-to-many


【解决方案1】:

根据经验,当您发现自己正在创造以下情况时:

甲板>卡片 卡>默认 甲板>默认

...这表明您的模型在逻辑上需要两个其他实体之间的链接实体。

我认为你需要:

Deck<-->>Default<<-->Card

这使用 Default 对象将每张卡片与特定的 Deck 相关联,但只能通过适用于该 Deck 的 Default 来关联。

不要害怕创建多跳关系路径。 Core Data 处理非常长的关键路径和复杂模型的能力是其强大的优势。

【讨论】:

    【解决方案2】:

    您需要卡和卡默认值之间的一对一。您还需要在 Deck 和 Card Default 之间建立一对一的关系。这样一来,卡默认值与卡组和卡相关联。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 2011-10-17
      相关资源
      最近更新 更多