Удаление нескольких объектов в основных данных - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть подкласс NSManagedObject, который имеет некоторые глубокие отношения. Здесь затрагиваются следующие отношения (например,):

order.subOrders

suborder.items

Таким образом, у заказа есть несколько подзаказов (ко-многим), а под заказ имеет несколько позиций (ко-многим).

Допустим, в моем заказе 3 подзаказа, а в каждом подзаказе 3 позиции. Мне нужно удалить один элемент из каждого подзаказа примерно в одно и то же время.

Итак, я попробовал следующее:

for(Item *item in itemsToBeDeleted) {
        [context deleteObject:item];
}
[context save:&error];

Затем я перезапускаю приложение, и кажется, что только 1 из элементов был удален. Итак, я удаляю 2 оставшихся элемента (используя тот же метод) и перезапускаю приложение, но снова был удален только один.

Может кто-нибудь вообще может указывать мне правильное направление?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

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

0 голосов
/ 22 октября 2012

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

Delete rule

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