NHibernate Session.Flush&Evict vs Clear

Ber*_*ryl 18 nhibernate session

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

// save it
session.Clear()
// fetch it
Run Code Online (Sandbox Code Playgroud)

要么

// save it
session.Flush()
session.Evict(_instance)
// fetch it
Run Code Online (Sandbox Code Playgroud)

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

Die*_*hon 23

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

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