预取相关对象的相关对象

时间:2018-01-24 08:58:23

标签: swift core-data

我的架构如下:

Person <--> OwnershipDetails <--> Pet

其中<-->表示一对一的关系。我的目标是模拟PersonPet实体之间的一对一关系,其中关系也有自己的属性。然后可以通过以下内容访问Pet对象:

person.ownership.pet

为此目的,这是Core Data中可能的最佳架构吗? (强调具有自己属性的关系)如果是,是否可以在查询pet对象时以某种方式预取person?像relationshipKeyPathsForPrefetching这样的东西,但是不止一层?

1 个答案:

答案 0 :(得分:3)

如果关系需要有自己的属性,那么这是实现它的好方法。由于两侧的关系是一对一的,因此请考虑这些属性是应该移动到一侧还是另一侧而不是中间。如果他们真的属于这种关系,那很好,但如果可能的话,实体越少越好。

提取时,relationshipKeyPathsForPrefetching可以有多个级别。这就是为什么它是一条关键路径,而不仅仅是一把钥匙。