【问题标题】:Core Data Relationship settings核心数据关系设置
【发布时间】:2017-10-04 01:15:00
【问题描述】:

我正在创建一个获得实体“计划”和“工具”的应用。 “工具”必须是唯一的,并且工具与不同的计划相关联。例如,计划“A”获得了工具“a”、“b”和“c”。另一个计划“B”得到了工具“b”、“c”和“d”。所以“b”和“c”都在“A”和“B”中。所以一个工具可以链接到更多的计划。

如何处理核心数据关系? 我尝试了一些不同的设置,并使用“DB Browser for SQLite”观察了数据库,但它没有像我想的那样工作。

例子:

我的人际关系必须具备哪些设置?

【问题讨论】:

  • 究竟是什么不起作用?在代码数据数据模型中创建两个实体并在计划中创建“工具”“对多”关系,在工具中创建“计划”“对多”关系并将彼此标记为反向应该可以工作。
  • 谢谢!有用。我不知道如何在我的数据库浏览器中解释数据库结构。由于您的评论,我再次尝试了它,结果证明它已经奏效了!谢谢:)

标签: xcode core-data swift3 datamodel


【解决方案1】:

来自Apple's documentation

多对多关系

您使用二对多定义多对多关系 关系。第一个多对多关系从第一个 实体(源实体)到第二个实体(目标)。这 第二对多关系来自第二个实体(原始 目标实体)到第一个实体(原始源实体)。 然后将每个设置为另一个的倒数。

在您的情况下,它应该如下所示:

在这里您可以看到关系属性:

同样,来自 Apple 的文档:

重要

您必须在两个方向上定义多对多关系,也就是说, 您必须指定两个关系,每个关系都是 其他。你不能只定义一个方向的一对多关系 并尝试将其用作多对多。如果你这样做,你最终会得到 参照完整性问题。

【讨论】:

    猜你喜欢
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多