在我想持久化一个对象然后通过从数据库(而不是 session )获取它来证明它是持久化的测试中,我注意到以下之间没有区别:
// save it
session.Clear()
// fetch it
或者
// save it
session.Flush()
session.Evict(_instance)
// fetch it
我这个懒惰的程序员倾向于一行超过两行。我有什么理由更喜欢这两行吗?
最佳答案
session.Clear 实际上 取消 所有待处理的保存/更新/等。
如果没有,那是因为您使用了身份,因此实体在不刷新的情况下被持久化。
关于NHibernate Session.Flush & Evict vs Clear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2853117/