Реализация поиска или создания во время импорта плоских файлов базовых данных - PullRequest
3 голосов
/ 10 февраля 2010

Я импортирую большой plist / XML в Core Data. Структура проста: скажем, есть Персона и Компания, и в Компании может быть много Людей. Импорт успешно завершен, но в списке нет установленных отношений, поэтому дубликаты компании вставляются каждый раз, когда несколько человек имеют одну и ту же компанию.

Потенциальное решение лежит в Документах Apple Core Data в разделе «Внедрение поиска или создания эффективно»:

Или, если вы импортируете «плоские» данные без связей, вы можете создать управляемые объекты для всего набора и отсеять (удалить) любые дубликаты перед сохранением, используя один большой предикат IN.

Я смотрел на это предложение целую вечность и не могу разобрать его. Разве я уже не использовал управляемые объекты для импорта всего набора? На какой запрос на выборку они ссылаются?

Алгоритм или уточнение будет высоко ценится.

1 Ответ

0 голосов
/ 12 февраля 2010

В вашем примере вам лучше всего сделать поиск / поиск компании во время импорта, чтобы вы могли правильно установить отношения. В зависимости от размера ваших данных вы можете даже захотеть сохранить объекты компании в памяти в NSDictionary, чтобы вы могли легко присоединить их к объектам-людям, когда они импортируются.

...