NHibernate Session.Flush & Evict vs Clear - PullRequest
18 голосов
/ 18 мая 2010

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

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

или

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

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

1 Ответ

23 голосов
/ 18 мая 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...