核心数据关系设置

时间:2017-05-05 13:58:14

标签: xcode core-data swift3 datamodel

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

如何使用核心数据关系执行此操作? 我尝试了一些不同的设置,并使用“DB Browser for SQLite”观察数据库,但它不像我喜欢的那样工作。

示例:

enter image description here

我的关系必须有哪些设置?

1 个答案:

答案 0 :(得分:2)

来自Apple's documentation

  

多对多关系

     

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

在你的情况下它应该是这样的:

Model Diagram

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

Relationship Properties 1

Relationship Properties 2

再次,来自Apple的文档:

  

重要

     

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

相关问题