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