IPhone CoreData:我应该如何将许多子实体与其父母联系起来

时间:2010-04-27 15:13:34

标签: iphone core-data entity-relationship

我正在尝试将数据从使用主键/外键关系的数据库导入Xcode中的核心数据数据库。

我有一些代码可以在托管对象上下文中创建数百个子实体:

每个孩子都有一个与父母相对应的ID。

child1    parentID = 3
child2    parentID = 17
child3    parentID = 17
...
childn    parentID = 5

我现在需要将每个孩子与其父母联系起来。父母都存储在持久性记忆中。

我的第一个想法是为每个孩子做一个抓取来获得它的父母。但是,我认为这会很慢。

我说错了吗?我应该怎么做呢?

2 个答案:

答案 0 :(得分:3)

为什么要使用子实体中的属性为此父子关系建模? 您应该使用从父实体到子实体的多对多关系以及从子实体到父实体的一对一关系来对此进行建模。在to-many关系上设置删除级联,并在一对一关系上无效。

然后,一旦你有了一个子对象,你只需使用父对象的一对一关系来访问孩子的父对象。

答案 1 :(得分:0)

我一直在研究几个例子,并决定最好的方法是以下

1)获取所有父母

2)将它们以parentID作为键

转移到字典中

然后,对于每个孩子,在字典中查找其父级,然后将它们关联在一起。