有沒有什麼方法可以隊列 NHibernate中的「添加」操作,就像Linq to SQL和Entity Framework一樣?如何在NHibernate中添加操作?
我想將一個實體添加到存儲庫,但我不想立即將它保存到數據庫,因爲業務邏輯很複雜。 我想在調用ITransaction.Commit()時提交所有更改,就像實體框架一樣。我可以這樣做嗎?
注意:我發現只要我調用ISession.Save()方法,NHibernate就會執行插入命令,這不是預期的。
更新:我嘗試設置FlushMode提交。但是它仍然立即保存實體,而不是在我調用ITransaction.Commit()時提交所有更改。
UPDATE 2我在這裏找到原因http://nhibernate.info/doc/nh/en/index.html#manipulatingdata-flushing :(一個例外情況是使用本機ID生成的對象在保存時被插入)。所以我只能將Id生成器更改爲「身份」以外的其他東西?沒有類似於EntityFramework解決方案的其他解決方案?
我的意思是,NHibernate的之前,我打電話器transaction.commit(發出一個INSERT SQL命令),這不是我想要的。我希望它僅在我調用transaction.Commit()時發出sql命令。 – 2010-10-13 12:00:34