如何创建父实体和关系的核心数据模型

Posted

技术标签:

【中文标题】如何创建父实体和关系的核心数据模型【英文标题】:How to create a core data model which parent entity and relationship 【发布时间】:2012-09-17 07:57:34 【问题描述】:

这里是描述:

    项目是抽象实体 每个 Item 都有一个 parentItem 关系(可以是 nil) BookItem 和 CategoryItem 是 Item 的子项 CategoryItem 将具有 childItems 关系

这是图表:

对我来说看起来不错。但我收到了两条警告信息:

    警告:错误配置的属性:Item.parentItem 应该有一个逆向 警告:错误配置的属性:CategoryItem.childItems 应该有一个逆向

我无法为 BookItem 设置相反的值,因为没有 childItems。而且我也不能为我的 CategoryItem 设置相反的值。我无法反向选择 parentItem,因为它在其父类中。

谁能建议我应该怎么做?

谢谢

【问题讨论】:

【参考方案1】:

你很可能想要这样的东西:

因此,实现它的最简单方法是控制+从每个实体拖动到另一个实体以创建关系(这样,XCode 也会自动创建反向关系,因此您可以节省自己一步)。对于 Item 父/子关系,只需 control+拖动自身即可。我希望这是有道理的......

PS。虽然我不完全明白为什么CategoryItem 上需要孩子,因为它是由已经有这种关系的Item 继承的......

【讨论】:

感谢您的回复。我在 CategoryItem 中有 childItems 关系的原因是: 1. 只有 CategoryItem 才会有 childItems。 BookItem 不会有 childItems。虽然他们都是 Item 的孩子。 2. CateogryItem 和 BookItem 都有 parentItem 感谢您提醒有关 control+drag。

以上是关于如何创建父实体和关系的核心数据模型的主要内容,如果未能解决你的问题,请参考以下文章

核心数据模型级联删除和父实体

核心数据中的父实体和关系

如何添加和查看核心模型关系的数据

使用核心数据的父实体继承和反向关系

涉及新实体和一对多关系的核心数据迁移

核心数据模型 - 关系