Отключить объект из сеанса NHibernate

В моем сеансе nhibenate я Mapping object с AutoMapper и в действии afterMap я создаю новый экземпляр объекта, потому что я извлекаю объект из базы данных для сравнения свойств. Таким образом, AutoMapper создает два экземпляра одного объекта с одинаковым идентификатором. Когда я пытаюсь зафиксировать сеанс, я получаю ошибку, что я должен возражать с тем же ID.

Итак, я хочу отключить объект, который я извлекаю после сравнения свойств. После этого я могу выполнить сеанс

Как я это делаю?

Спасибо!

Ответ 1

Вы можете использовать session.Evict(persistentObject), чтобы вырезать постоянный объект из сеанса. Это приведет к удалению объекта из кеша 1-го уровня, что позволит вам очистить сеанс.