在核心数据模型中,有三个 Entity A,B并且Cwhere可以与和/或A有关系。BC
由于某些原因B,并且C是在 s 上下文的子上下文中创建的(它们都共享相同的子上下文)A。因此,有一个父上下文(由 使用A)具有一个子上下文(由Band使用C)。
现在我需要
- 获取所有
As 和 - 获取所有
Bs(或Cs)。
我正在使用MagicalRecord与 CoreData进行交互,因此(1)很容易实现:
NSArray *all_As = [A findAll];
为了实现 (2),我现在可以使用 that I knowA的上下文:
NSManagedObjectContext *contextOfA = a.managedObjectContext
a的实例在哪里A。请注意,由于我的应用程序的设计方式,总有一个whicha可用于获取所有实例(换句话说:我不需要访问和没有)。如上所述,和(和)之间不一定存在关系。最后,甚至不必存在(并且可以没有)。BCBCAABCabca
但我确实知道,B并且C生活在A's child context 中。
所以基本上我只需要获取a.managedObjectContext的子上下文并对该子上下文执行获取请求:
NSArrray *all_Bs = [B findAllInContext: a.managedObjectContext.childContext]
但是我怎样才能访问a.managedObjectContext.childContext?