NHibernate: удаление коллекции и повторная вставка

У меня есть пользователь с соответствующими разрешениями. Вот что я хочу:

Я создаю пользователя и добавляю разрешение в коллекцию User.Permissions. Это сохраняется, и все происходит, как ожидалось.

Затем я редактирую пользователя и удаляю разрешение. Затем создается новый объект пользователя, и коллекция разрешений пуста. Идентификатор и версия этого нового пользовательского объекта устанавливаются в соответствующие значения, а пользовательский объект обновляется.

Но существующее разрешение не удаляется.

Поэтому я бы хотел, чтобы NHibernate всегда удалял коллекцию разрешений и заново вставлял в нее все элементы.

Как мне это настроить? Я использую свободный API.

С уважением, Эбен

2 ответа

SaveOrUpdateCopy сделал свое дело

Я думаю, что когда вы редактируете, вы не должны создавать новый объект - поэтому nhibernate не удаляет коллекцию разрешений.

Загрузите существующего пользователя из БД, а затем выполните.Remove() для его коллекции разрешений.

Другие вопросы по тегам