假设我们有两种类型,House
和Pet
。这些类型没有很多共同点,但它们都有owner
。所有者的类型为Person
。
我不希望Dog
和House
都来自一个常见的超类型,因为据我所知,核心数据不会喜欢大数据集(每个数据集的几个100K) )。如果这个假设是不真实的,请告诉我。
现在,由于Core Data不喜欢没有反转的关系,Person
需要House
和Dog
的反转。有两个独立的关系(即houses
和dogs
)似乎是一个明显的解决方案,但一个人可以拥有许多不同的东西(为了这个问题,我们将动物视为事物。对不起,动物!)。
我希望Person
拥有一对多关系possessions
。 Core Data似乎无法做到这一点。如果让Dog
和House
从一个共同的超类继承而不是一个选项,那么几十个关系(每种类型的一个拥有)真的是可行的方式吗?是否没有核心数据实体的协议(这样它们都可以ownable
)?对我来说,这似乎不是一个充满异国情调的用例。
我错过了什么吗?我可能是。告诉我什么,并赢得我的感激:)
答案 0 :(得分:0)
添加名为Thing
的新实体。添加从Thing
到名为Person
的{{1}}的一对一关系。添加从owner
到名为Person
的{{1}}的多对多关系。让它们彼此相反。
接下来,制作Thing
。
现在,所有事情都有共同之处在于possessions
实体,而Thing
可以拥有各种各样的财产。