Один из базовых принципов nhibernate состоит в том, чтобы не иметь 2 одинаковых объектов в одном сеансе.То, что вы просите, не может быть выполнено, насколько я знаю.
Возможное решение 1
Вы можете запросить car
в одном сеансе, чтобы закрыть сеанс.Запрос car2
в другом сеансе и сравнение с двумя объектами.Обновите car2
свойствами car
.
Возможное решение 2
Сделайте то же, что и выше, за исключением того, что не копируйте значения из car
в car2
.Вместо этого вы должны открыть другой сеанс и выполнить session.Update(car);
Возможное решение 3
Вы можете создать копию оригинала или создать dto.Когда вы сделаете сравнение, сравните постоянный экземпляр (измененную копию) с копией / dto.