NHibernate Session.Flush& Evict vs Clear

时间:2010-05-17 21:51:04

标签: nhibernate session

在我希望持久化对象然后通过从db(而不是会话)中获取它来证明它是持久化的测试中,我发现以下内容之间没有区别:

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

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

我这个懒惰的程序员倾向于超过两行。有没有什么理由让我更喜欢这两行呢?

1 个答案:

答案 0 :(得分:23)

session.Clear实际取消所有待处理的保存/更新/等。

如果没有,那是因为你使用了身份,所以实体是持久的,没有刷新。