核心数据:与不同类型的共同关系

时间:2013-04-29 15:08:35

标签: cocoa core-data entity-relationship

假设我们有两种类型,HousePet。这些类型没有很多共同点,但它们都有owner。所有者的类型为Person

我不希望DogHouse都来自一个常见的超类型,因为据我所知,核心数据不会喜欢大数据集(每个数据集的几个100K) )。如果这个假设是不真实的,请告诉我。

现在,由于Core Data不喜欢没有反转的关系,Person需要HouseDog的反转。有两个独立的关系(即housesdogs)似乎是一个明显的解决方案,但一个人可以拥有许多不同的东西(为了这个问题,我们将动物视为事物。对不起,动物!)。

我希望Person拥有一对多关系possessions。 Core Data似乎无法做到这一点。如果让DogHouse从一个共同的超类继承而不是一个选项,那么几十个关系(每种类型的一个拥有)真的是可行的方式吗?是否没有核心数据实体的协议(这样它们都可以ownable)?对我来说,这似乎不是一个充满异国情调的用例。

我错过了什么吗?我可能是。告诉我什么,并赢得我的感激:)

1 个答案:

答案 0 :(得分:0)

添加名为Thing的新实体。添加从Thing到名为Person的{​​{1}}的一对一关系。添加从owner到名为Person的{​​{1}}的多对多关系。让它们彼此相反。

接下来,制作Thing

的所有子实体

现在,所有事情都有共同之处在于possessions实体,而Thing可以拥有各种各样的财产。