NHibernate Session.Flush & Evict vs Clear

标签 nhibernate session

在我想持久化一个对象然后通过从数据库(而不是 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/

相关文章:

c# - 使用 Redis 与仅使用 Redis 的 NHibernate 二级缓存

ios - session 存储在设备中不起作用

php - 是否在每次加载页面时重置 php 中的 session ?

php - 如何从数据库中提取用户变量并将其显示在 html/php 中

web-services - 使用 NHibernate 通过 Web 服务保存数据?

nhibernate - 使用 NHibernate QueryOver 进行后期评估

c# - 如何在 Nhibernate 中对子集合执行 QueryOver

c# - 在 SqlBulkCopy 中使用 NHibernate 事务

php - 在 $_SESSION 中存储 Doctrine 对象

php - 创建一段时间后删除 session 文件