CoreData父、母子关系,一个CoreData子类可以和两个子类有相同的关系吗?
Posted
技术标签:
【中文标题】CoreData父、母子关系,一个CoreData子类可以和两个子类有相同的关系吗?【英文标题】:CoreData Father, mother children relationship, Can a CoreData subclass have a same relationship with two subclasses? 【发布时间】:2016-10-15 16:57:45 【问题描述】:我对这个问题感到很震惊
我有一个“Person”Coredata 子类,
显然一个人有父亲(Person)、母亲(Person)、配偶(Person)和孩子(List of Persons)
(以关系表示)
如果一个人是他父亲的孩子之一,那么他就是他母亲两个的孩子之一。
所以“孩子”必须与母亲和父亲有关。
我不能在核心数据中做到这一点,我错过了什么吗? 有没有办法解决这个问题?
【问题讨论】:
我添加了一个新的实体,叫做Marriage NSDate *date;人*配偶; NSOrderedSet如果您使用 CoreData,您应该知道,它是 SQLite 的说唱歌手,因此您需要像在 SQL 中那样建立关系。 人“孩子”是对父亲和母亲的 n:1 财产。 为新实体建模,例如 MotherToChild,您可以在其中进行映射,如 SQL 中的规范化。
【讨论】:
//人“孩子”对父亲和母亲是 n:1 的财产//我做不到。 您必须在 Coredata 编辑器的实体部分中对关系进行建模。另一个重要的一点是,每个 1:n 关系都需要 2 个关系。 (有关更多信息,请参阅此帖子:***.com/questions/12709842/…) 我很清楚,但是一个人与母亲,父亲有两种关系。虽然父亲与一个人有孩子的关系,而母亲与同一个孩子有相同的关系,这在核心数据中是无法做到的。两个反向关系对于孩子来说是不可能的。 好的,了解您的问题。您是否尝试过为新实体建模,例如 MotherToChild,您可以在其中进行映射,如 SQL 中的规范化? 我就是这么做的 :) 你可以给出这个答案以上是关于CoreData父、母子关系,一个CoreData子类可以和两个子类有相同的关系吗?的主要内容,如果未能解决你的问题,请参考以下文章