Ho tre entità: EntityA, EntityB ed EntityC connesse con le relazioni to-many.Qual è il modo migliore per creare NSPredicate con molte relazioni profonde?
Vedere schema per i dettagli:
alt text http://img706.imageshack.us/img706/9974/screenshot20091220at124.png
Per ottenere tutte le istanze di EntityA che dipendono da EntityB.name Io uso il predicato in questo modo:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY EntityB.name like 'SomeName'"];
Quale dovrebbe essere predicato per ottenere tutte le istanze di EntityA che dipendono da EntityC.name? Ho provato query come @"ANY EntityB.entitiesC.name like 'SomeName'"
ma ottengo l'eccezione "multiple to-many keys not allowed here"
.
Con i migliori saluti,
Victor
Funziona con uno store SQLite sia per Mac OS che per iOS? Dalla documentazione di Apple (dalla libreria iOS 5.0: Guida alla programmazione Core Data> persistenti Caratteristiche dei negozi> Fetch predicati e ordinamento descrittori - può essere diverso per Mac OS): "Ci sono ulteriori vincoli sui predicati che è possibile utilizzare con il negozio SQLite: non si può necessariamente tradurre le query SQL “arbitrari” in predicati ". – Dalmazio
Non l'ho testato su Mac OS ma per iOS funziona bene. – Victor