Entity Framework не спасет отношения - PullRequest
3 голосов
/ 20 октября 2010

У меня следующая ситуация:

role.Permissions.Add(permission);
objectContext.SaveChanges();

Когда я сейчас смотрю в таблицу отношений Roles_Permissions, недавно добавленное разрешение роли отсутствует.Это сохраняет только новое отношение, когда я располагаю контекст объекта.Я делаю что-то неправильно или вызов SaveChanges не сохраняет изменения в наборах отношений?

Ответы [ 4 ]

1 голос
/ 02 декабря 2010

Проверьте ObjectStateManager - прежде чем вызывать SaveChanges, взгляните на менеджер состояния объекта, чтобы получить все изменения, которые имеют состояние добавленного - он должен вернуть только один элемент, который является этим объектом разрешения.Если его там нет, значит что-то еще не так.Вызов SaveChanges должен сохранить ваши изменения тут же.

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

Просто проверьте, находятся ли они в одном объекте контекста.

0 голосов
/ 27 октября 2010

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

objectContext.AddObject("Permissions", permission);
0 голосов
/ 21 октября 2010

Похоже, вы используете транзакцию.

Внесенные изменения не видны за пределами области транзакции, пока транзакция не будет зафиксирована.

И область транзакции не фиксируется, пока не будет удален контекст объекта.

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