Mam trzy podmioty: EntityA, EntityB i EntityC połączone ze związkami to-many.Jaki jest lepszy sposób na zbudowanie NSPredicate z wieloma głębokimi relacjami?
Patrz schemat na szczegóły:
alt text http://img706.imageshack.us/img706/9974/screenshot20091220at124.png
Na uzyskanie wszystkich instancji, które są uzależnione od EntityA EntityB.name używam orzecznik tak:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY EntityB.name like 'SomeName'"];
Jaki powinien być orzeczenie o uzyskanie wszystkie wystąpienia EntityA, które zależą od EntityC.name? Próbowałem zapytanie, takie jak @"ANY EntityB.entitiesC.name like 'SomeName'"
, ale uzyskać wyjątek "multiple to-many keys not allowed here"
.
poważaniem,
Victor
Czy to działa z magazynem SQLite dla systemów Mac OS i iOS? Z dokumentacji Apple (z biblioteki iOS 5.0: Przewodnik programowania danych podstawowych> Funkcje magazynu trwałego> Predykaty pobierania i deskryptory sortowania - mogą się różnić w Mac OS): "Istnieją dodatkowe ograniczenia dotyczące predykatów, których można używać z Sklep SQLite: Nie można tłumaczyć "arbitralnych" zapytań SQL na predykaty. " – Dalmazio
Nie testowałem tego w systemie Mac OS, ale dla iOS jego praca jest w porządku. – Victor