CoreData Parent Children 使用单个实体的一对多反向关系

Posted

技术标签:

【中文标题】CoreData Parent Children 使用单个实体的一对多反向关系【英文标题】:CoreData Parent Children one to many inverse relationships using single entity 【发布时间】:2021-12-30 13:56:09 【问题描述】:

我有一个问题,如何在 CoreData 中正确建模 Person 与使用单个实体建模的反向子级的关系。

我想为一个家庭建模,所以我为每个成员创建了一个实体PersonPerson 可以有父母、父亲和母亲——为此我创建了one-to-one 关系。 Person 可以有孩子,这是一组one-to-many 关系。

我在 CoreData 模型中设置逆时遇到问题,因为它是关系所必需的。问题是,当我将实体Personfather/mother 属性设置为children 时,它只能设置为其中一个,而不能同时设置fathermother。您有解决方案如何正确建模吗?

【问题讨论】:

多对多的亲子关系呢,真的需要把父母分成妈妈和爸爸吗? 【参考方案1】:

您可以通过多种方式解决此问题。

就我个人而言,我只会拥有一个 parents 和一个 children 属性,然后就这样。

如果您真的想区分 motherfather,可以使用单个 parents/children 关系并查找具有所需性别的 Person

另一种方法是创建一个ParentRelationship 对象,该对象指向parentchild 并描述关系。

【讨论】:

以上是关于CoreData Parent Children 使用单个实体的一对多反向关系的主要内容,如果未能解决你的问题,请参考以下文章

在 Core Data 中获取过滤的关系

在容器最前面添加DOM元素 parent.insertBefore(new, parent.children[0])

Vue组件间通信--$parent/$children/4

vue 自定义组件(二) $parent、$children、ref、refs

父元素parent子元素children同胞siblings过滤

vue基础----组件通信($parent,$children)