NHibernate - 选择前/后冲洗?

时间:2012-07-24 10:30:47

标签: nhibernate flush

目前我正在开发一个由其他人编程的项目,并且已知NHibernate部分可能没有很好地实现。我在实习期间被要求改进,但我对NHibernate也很新。 我遇到了一些代码部分,在选择后有一个Flush,在我看来是完全没用的,我是对的(问题1)? 我读了几乎完整的NHibernate文档,但我不确定我是否理解所有内容。

我应该在选择之前刷新(问题2)吗?我的想法是,当我在冲洗后选择时,数据会是最新的。

(目前该计划根本不使用任何交易 - 我认为那里有很大的改进空间)

1 个答案:

答案 0 :(得分:1)

NH官员documents说:

  

<强> 9.7.1。刷新会话

     

如果您正好使用ITransaction API,则不需要   担心这一步。它将在隐式执行时执行   交易已提交。否则你应该调用ISession.Flush()   确保所有更改都与数据库同步。

should always use transactions,即使是阅读。

如果您没有使用交易,则应在写入后使用Flush 阅读后,Flush真的没有感觉到 看看这些two answers,其中一切都得到了很好的解释。