NHibernate: удаление коллекции и повторная вставка
У меня есть пользователь с соответствующими разрешениями. Вот что я хочу:
Я создаю пользователя и добавляю разрешение в коллекцию User.Permissions. Это сохраняется, и все происходит, как ожидалось.
Затем я редактирую пользователя и удаляю разрешение. Затем создается новый объект пользователя, и коллекция разрешений пуста. Идентификатор и версия этого нового пользовательского объекта устанавливаются в соответствующие значения, а пользовательский объект обновляется.
Но существующее разрешение не удаляется.
Поэтому я бы хотел, чтобы NHibernate всегда удалял коллекцию разрешений и заново вставлял в нее все элементы.
Как мне это настроить? Я использую свободный API.
С уважением, Эбен
2 ответа
Я думаю, что когда вы редактируете, вы не должны создавать новый объект - поэтому nhibernate не удаляет коллекцию разрешений.
Загрузите существующего пользователя из БД, а затем выполните.Remove() для его коллекции разрешений.