Базовые данные - правила обратного удаления ... какие из них следует применять? - PullRequest
4 голосов
/ 23 июля 2011

В моем примере приложения есть отношение «один ко многим», взятое из документации по базовым данным, где один менеджер имеет несколько сотрудников. Я получил часть о том, как установить правило удаления отношения Менеджер-Сотрудник, но как насчет отношения Сотрудник-Менеджер? Если я хочу, чтобы, если ВСЕ сотрудники были удалены, я хочу, чтобы Менеджер также был удален, какое правило удаления я должен применить? Каскад не имеет смысла, потому что тогда, если один сотрудник будет удален, менеджер будет удален, даже если у него / нее другие сотрудники все еще связаны. Nullify удалит отношения правильно, но не удалит Manager, когда последний сотрудник был удален. Я что-то упустил, или я должен сделать что-то особенное в этом случае?

1 Ответ

3 голосов
/ 23 июля 2011

Правила удаления не обладают достаточной специфичностью, чтобы сказать: «удалите себя, если отношение« bobs »содержит меньше объектов« x »».

Вместо этого вы должны поместить такую ​​бизнес-логику в собственный подкласс NSManagedObject. Вы можете поставить проверку в методе Manager classes removeEmployeeObject: и removedEmployeeObjects:, который указывает экземплярам Manager удалить себя, если отношение employees пусто.

Вы также можете использовать методы проверки для этого или willSave методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...