Получение основного объекта данных от родительского объекта - PullRequest
6 голосов
/ 05 марта 2010

Я пытаюсь получить данные из сущности в базовых данных, где я знаю значение связанной сущности.

IE:
Entity1
-attrib1.1
-attrib1.2
-relationship1

entity2
-attrib2.1
-relationship1

Сущность 1 имеет отношение ко многим с Сущностью 2 в отношении1.

Я пытаюсь получить значение Entity2, где Entity1.attrib1.1 = XXX.

Я пытался использовать NSPredicate, но я не уверен, как, если возможно, написать синтаксис в методе ПредикатаWithFormat.

Если это не имеет смысла, извините. Я постараюсь прояснить, если нужно.

Я искал в Google и здесь, но ничего не нашел. Может быть, мои глаза выдают? ;)

1 Ответ

4 голосов
/ 05 марта 2010

I думаю вы пытаетесь найти экземпляры Entity2, где Entity1.attrib1.1==XXX и Entity1.relationship1 содержит ссылку на экземпляр Entity2. Из вашего описания не ясно, является ли Entity2.relationship1 обратным Entity1.relationship1. Если нет, вам действительно следует создать обратное отношение и установить его в качестве такового в моделировщике данных. Если вы действительно не знаете, что делаете, и уверены, что вам не нужны обратные отношения, Базовые данные не будут работать так, как вы ожидаете, если обратные отношения не существуют.

Если у вас есть обратное отношение от Entity2 до Entity1 (для примера назовем его inverseRelationship), вы можете выполнить запрос на выборку Entity2, используя экземпляр NSPredicate со строкой формата

inverseRelationship.attrib1.1 == XXX

, если обратное отношение один к одному или

ANY inverseRelationship.attrib1.1 == XXX

если обратное также отношение ко многим.

...