Основные данные: проблема графов объектов - PullRequest
1 голос
/ 13 июня 2011

У меня проблема с Core Data. Проблема происходит с этим сценарием:

-I have two entities, for instance "Department" and "Employee". 
-A to-many relationship from "Department" to "Employee"

Когда я генерирую модель, генерируются два класса: «Отдел» и «Сотрудник». У класса "Department" есть "NSSet" сотрудника, благодаря благодарности ко многим.

В коде я создаю два экземпляра "Отдел" (d1, d2) и один из "Сотрудник" (e1). Я хотел бы, чтобы экземпляр e1 мог быть как в d1, так и в d2 (через отношения). Поэтому я делаю что-то вроде:

[d1 addEmployeeObject:e1 ];
[d2 addEmployeeObject:e1 ];

Проблема в том, что при перезапуске приложения e1 больше не в d1 (только в d2). Похоже, данные ядра автоматически удалили e1 из d1. Но я этого не хочу !!!

Согласно базовой документации , похоже, что это правильное поведение (см. Главу «Управление отношениями и целостность графа объектов» в ссылке выше).

Как я могу предотвратить это поведение ?? Любая идея?

Спасибо за чтение, действительно надеюсь, что я был ясен.

1 Ответ

2 голосов
/ 13 июня 2011

Установите обратные отношения, называемые департаментами, ко-многим от сотрудника к департаменту.

Пометьте инверсию «Отделы» как «Сотрудники», где «Сотрудники» - это множество для отдела от сотрудника.

Когда вы создаете классы, вы должны видеть, что в Департаменте есть сотрудники NSSet *, а в Employee - отделы NSSet *.

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