2012-07-24 64 views
0

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

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

(目前该程序不使用任何交易在所有 - 我看到了改善有很大的空间)

回答

1

NH官方documents说:

9.7.1。刷新会话

如果您碰巧正在使用ITransaction API,则不需要 担心此步骤。当提交事务时,它将被隐式执行。否则,您应该调用ISession.Flush() 以确保所有更改都与数据库同步。

should always use transactions,即使是读。

如果您未使用事务,则应在写入后使用Flush。
阅读后,它并没有真正感知Flush。
看看这些twoanswers这里的一切都很好解释。

相关问题