Как мне выбрать объекты из Базовых данных, у которых нет родственников, которые соответствуют набору критериев? - PullRequest
1 голос
/ 21 декабря 2011

Я новичок в Core Data, и у меня возникли небольшие проблемы с пониманием лучшего способа эффективного извлечения данных, особенно с объектами, которые связаны.

Представьте, что у меня есть две сущности: пациенты и назначения. У пациентов много назначений.

Я хочу отобрать всех пациентов, у которых не было встречи, в этом [Patient.appointment_frequency], где назначение_частота - еженедельно, ежемесячно и т. Д.

Как бы я это сделал, особенно быстрым способом с сотнями или тысячами объектов пациента и сотнями посещений на пациента?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2011

Apple предоставила руководство по программированию основных данных с примером кода. Он объясняет, как делать различные виды запросов на выборку, и очень четко написан.

В вашей ситуации я бы взял текущую дату и вычел бы неделю (или месяц, или как там говорится). Получить запрос для всех пациентов, используя предикат, который говорит, что вы хотите, чтобы все пользователи с частотой X, чье последнее посещение <расчетная дата. Возвращенным пользователям необходимо запланировать встречи. </p>

0 голосов
/ 21 декабря 2011

Во-первых, вы должны предсказать ваш запрос на получение встреч в пределах переменного порога встреч.Ваш возвращенный извлеченный набор будет содержать каждый из соответствующих объектов встречи, после чего вы можете построить набор пациентов, запросив каждое из возвращенных назначений для своего пациента, а затем сгруппировав встречи по пациентам (т. Е. Представить в виде таблицы).

Если результирующий набор содержит много объектов (сотни, тысячи), CoreData будет управлять заполнением и ошибочными объектами в результирующем наборе, поэтому не беспокойтесь о памяти или производительности, если только вы не используете ее и не снижаете производительностьчем ожидалось.

...