需要设置一个与自身具有多对多关系的实体人(自反)。
所以每个人可以有n个子人,基本上是这样的:
Person 是否有两个关系,person 和 sub_person?逆规则如何运作?
需要设置一个与自身具有多对多关系的实体人(自反)。
所以每个人可以有n个子人,基本上是这样的:
Person 是否有两个关系,person 和 sub_person?逆规则如何运作?
如果我正确理解您的要求,您只需定义一个实体Person和两个关系:
sub_persons
作为从Person到Person的多对多关系,super_person
作为从Person到Person的一对一关系,并将它们定义为彼此的反向关系。
实体当然可以与自身相关,就像双向链表中的节点与其他节点具有下一个和上一个关系一样。请记住,实体就像一个类——它是一种对象而不是特定对象。因此,例如,您的 Person 实体可能与 Person 有一个朋友关系——一个给定的人可能有很多朋友,所有这些朋友也是 Person 的实例。
以这种方式,绝对有可能在 Core Data 中拥有一个与自身相关的对象。在数据模型的 Table, Graph 编辑器中,按住 control 键并从 Person 画出一条线,然后又回到它自己。这会给你一条线,每一端都有一个箭头,都指向 Person。然后重命名关系(parentPerson、subPersons)并在属性检查器中使 subPersons 成为一对多关系。最终结果应如下所示:
这种数据管理风格遵循一种称为复合模式的设计模式。