Я понимаю, что этот вопрос довольно старый, но похоже, что Apple добавила опцию, чтобы установить, какие отношения должны быть предварительно выбраны, а не нарушены:
Вот фрагмент, взятый из NSFetchRequest.h
/* Returns/sets an array of relationship keypaths to prefetch along with the entity for the request. The array contains keypath strings in NSKeyValueCoding notation, as you would normally use with valueForKeyPath. (Prefetching allows Core Data to obtain developer-specified related objects in a single fetch (per entity), rather than incurring subsequent access to the store for each individual record as their faults are tripped.) Defaults to an empty array (no prefetching.)
*/
- (NSArray *)relationshipKeyPathsForPrefetching NS_AVAILABLE(10_5,3_0);
- (void)setRelationshipKeyPathsForPrefetching:(NSArray *)keys NS_AVAILABLE(10_5,3_0);