Основные данные, разрушающие отношения многие ко многим - PullRequest
1 голос
/ 26 мая 2010

У меня есть следующая модель данных, и я хочу разорвать отношение «многие ко многим» между EntityA и EntityB. Я делаю это, удаляя объект EntityC, который соединяет их обоих. Я обнаружил, что EntityA по-прежнему имеет связь с EntityB, хотя я сохранил контекст управляемого объекта, я вижу, как изменения вступают в силу после повторного получения записей EntityA из базы данных. Я что-то упускаю? Заранее спасибо, Сара

альтернативный текст http://i45.tinypic.com/4ruexl.jpg

1 Ответ

2 голосов
/ 26 мая 2010

Я согласен с комментарием Барри, из вашего описания звучит так, как будто вы используете более одного NSManagedObjectContext, и это определенно вызовет проблему.

Это многопоточное приложение?

Вы основали это на одном из примеров Apple?

обновление

Ссылочная целостность является наиболее вероятной причиной этой проблемы. Когда вы удаляете A, отношение к C, с точки зрения C, может быть не очищено сразу, потому что Core Data выполняет такую ​​очистку либо в конце цикла выполнения, либо при следующем сохранении. Это означает, что если вы заглядываете в значение до того, как какое-либо из них произойдет, связь может быть там. Ты сразу смотришь на отношения или они немного задерживаются, то есть после сохранения?

обновление

В исходном вопросе вы указали, что после сохранения EntityA все еще имеет отношение к EntityB. Это опечатка? Согласно вашей модели EntityA и EntityB не имеют прямой связи. Вы можете уточнить?

или, возможно, покажите код, где вы удаляете EntityC и где вы видите, что EntityA имеет отношения с EntityB.

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