2012-07-24 63 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這裏的一切都很好解釋。

相關問題