Подтвердить что ты не робот

NHibernate Session.Flush & Evict vs Clear

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

// save it
session.Clear()
// fetch it

или

// save it
session.Flush()
session.Evict(_instance)
// fetch it

ленивый программист во мне наклоняется к одной линии над двумя. Есть ли какая-то причина, по которой мне не хватает двух линий больше?

4b9b3361

Ответ 1

session.Clear фактически отменяет все ожидающие сохранения/обновления/etc.

Если это не так, это потому, что вы используете идентификатор, чтобы объект сохранялся без очистки.