iphonecoredata:我应该如何将许多子实体与其父实体关联起来

iphonecoredata:我应该如何将许多子实体与其父实体关联起来,iphone,core-data,entity-relationship,Iphone,Core Data,Entity Relationship,我正在尝试将数据从使用主键/外键关系的数据库导入Xcode中的核心数据数据库 我有在托管对象上下文中创建数百个子实体的代码: 每个子级都有一个对应于父级的ID child1 parentID = 3 child2 parentID = 17 child3 parentID = 17 ... childn parentID = 5 我现在需要将每个孩子与其父母联系起来。父对象都存储在持久内存中 我的第一个想法是为每个孩子取一次,以得到他们的父母。然而,我认为这将是缓慢的

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

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

每个子级都有一个对应于父级的ID

child1    parentID = 3
child2    parentID = 17
child3    parentID = 17
...
childn    parentID = 5
我现在需要将每个孩子与其父母联系起来。父对象都存储在持久内存中

我的第一个想法是为每个孩子取一次,以得到他们的父母。然而,我认为这将是缓慢的


我说得对吗?我应该怎么做呢?

为什么要使用子实体中的属性来建模这种父子关系? 您应该使用从父实体到子实体的对多关系以及从子实体到父实体的对一反向关系对此进行建模。在对多关系上设置为“删除级联”,在对一关系上设置为“空”


然后,拥有子对象后,只需使用与父实体的“对一”关系来访问子实体的父实体。

为什么要使用子实体中的属性来建模此父子关系? 您应该使用从父实体到子实体的对多关系以及从子实体到父实体的对一反向关系对此进行建模。在对多关系上设置为“删除级联”,在对一关系上设置为“空”


然后,一旦您有了子对象,您只需使用与父实体的“对一”关系来访问子对象的父对象。

我已经看了一些示例,并决定最好的方法如下

1) 把所有的父母都叫来

2) 将它们转移到以parentID为键的字典中


然后,对于每个孩子,在字典中查找其父母,然后将他们联系在一起。

我已经看了一些例子,并决定最好的方法是

1) 把所有的父母都叫来

2) 将它们转移到以parentID为键的字典中


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

我将尝试单独的获取请求并设置[request SetIncludePropertyValues:NO];为了减少加载的开销,我将尝试单独的获取请求并设置[RequestSetIncludePropertyValues:NO];减少加载的开销。是的,这就是建模的方式。不幸的是,我从一个使用主键/外键设计的外部数据库获取数据。我需要桥接关系一次,然后我就可以忘记parentID。“您只需使用与父实体的to-one关系来访问子实体的父实体”代码示例对我们这些新接触核心数据的人最有帮助。好的。。。现在我知道你的意思了(这很简单——只要你把头脑集中在核心数据上)。要访问父实体,请使用child.RelationshipToParent.attributeName。所以NSLOG(@“这是父名称%@”,child.RelationshipToParent.parentName);是的,这就是它的建模方式。不幸的是,我从一个使用主键/外键设计的外部数据库获取数据。我需要桥接关系一次,然后我就可以忘记parentID。“您只需使用与父实体的to-one关系来访问子实体的父实体”代码示例对我们这些新接触核心数据的人最有帮助。好的。。。现在我知道你的意思了(这很简单——只要你把头脑集中在核心数据上)。要访问父实体,请使用child.RelationshipToParent.attributeName。所以NSLOG(@“这是父名称%@”,child.RelationshipToParent.parentName);作品