2

需要设置一个与自身具有多对多关系的实体人(自反)。

所以每个人可以有n个子人,基本上是这样的:

在此处输入图像描述

Person 是否有两个关系,person 和 sub_person?逆规则如何运作?

4

3 回答 3

2

如果我正确理解您的要求,您只需定义一个实体Person和两个关系:

  • sub_persons作为从PersonPerson的多对多关系,
  • super_person作为从PersonPerson的一对一关系,

并将它们定义为彼此的反向关系。

于 2012-12-14T19:51:29.107 回答
1

实体当然可以与自身相关,就像双向链表中的节点与其他节点具有下一个上一个关系一样。请记住,实体就像一个类——它是一种对象而不是特定对象。因此,例如,您的 Person 实体可能与 Person 有一个朋友关系——一个给定的人可能有很多朋友,所有这些朋友也是 Person 的实例。

于 2012-12-14T19:42:57.743 回答
1

以这种方式,绝对有可能在 Core Data 中拥有一个与自身相关的对象。在数据模型的 Table, Graph 编辑器中,按住 control 键并从 Person 画出一条线,然后又回到它自己。这会给你一条线,每一端都有一个箭头,都指向 Person。然后重命名关系(parentPerson、subPersons)并在属性检查器中使 subPersons 成为一对多关系。最终结果应如下所示:

在此处输入图像描述

这种数据管理风格遵循一种称为复合模式的设计模式

于 2012-12-14T19:54:08.907 回答