我的架构如下:
Person <--> OwnershipDetails <--> Pet
其中<-->
表示一对一的关系。我的目标是模拟Person
和Pet
实体之间的一对一关系,其中关系也有自己的属性。然后可以通过以下内容访问Pet
对象:
person.ownership.pet
为此目的,这是Core Data中可能的最佳架构吗? (强调具有自己属性的关系)如果是,是否可以在查询pet
对象时以某种方式预取person
?像relationshipKeyPathsForPrefetching
这样的东西,但是不止一层?
答案 0 :(得分:3)
如果关系需要有自己的属性,那么这是实现它的好方法。由于两侧的关系是一对一的,因此请考虑这些属性是应该移动到一侧还是另一侧而不是中间。如果他们真的属于这种关系,那很好,但如果可能的话,实体越少越好。
提取时,relationshipKeyPathsForPrefetching
可以有多个级别。这就是为什么它是一条关键路径,而不仅仅是一把钥匙。