18
В тесте, где я хочу сохранить объект, а затем докажу, что он был сохранен, извлекая его из db (а не сеанса), я не вижу разницы между следующим:NHibernate Session.Flush & Evict vs Clear
// save it
session.Clear()
// fetch it
или
// save it
session.Flush()
session.Evict(_instance)
// fetch it
ленивый программист мне наклоняется к одной линии через два. Есть ли какая-то причина, по которой мне не хватает двух линий?
I * am * используя личность - это прекрасная причина для поддержки флеша и выселения! Cheers – Berryl
Btw, не будет session.Flush & session.Clear получить тот же эффект, что и Flush & Evict? Я считаю, что это еще лучше, так как Evict не будет каскадом, если не будет определен так. – Rita
@Rita. Да, я думаю, вы правы в этом. Один из ключей, чтобы понять, что сказал Диего, заключается в том, что Clear отменяет * ожидающий * сохраняет. То, что я обычно делаю в наши дни, это обернуть все внутри tranaction; поэтому Save находится внутри отдельного tx и передается через tx.Commit до того, как я вызову Session.Clear() и поэтому не ожидаю. НТН – Berryl