0
應該使用哪些配置選項來構建不會累積更新的會話,並且始終保持只讀狀態?如何使用不會積累更新的Fluent NHibernate創建NHibernate只讀會話?
看起來,爲只讀版本替換第一級或第二級緩存可能是答案,這是如何使用流暢配置實現的?
應該使用哪些配置選項來構建不會累積更新的會話,並且始終保持只讀狀態?如何使用不會積累更新的Fluent NHibernate創建NHibernate只讀會話?
看起來,爲只讀版本替換第一級或第二級緩存可能是答案,這是如何使用流暢配置實現的?
見how to create a readonly session in nHiberate?
或者可以更換默認的保存/更新/刪除事件偵聽器與你自己的,什麼也不做
要做到這一點,在你的NHibernate的配置,你需要做的是這樣的:
Fluently.Configure()
// your config goes here
.ExposeConfiguration(
x => x.EventListeners.SaveOrUpdateEventListeners =
new ISaveOrUpdateEventListener[ ]{new NoOpEventListener() } ;
// etc for other types
嗨,謝謝你。我確實看到了你提到的帖子,但對我來說,積累所有更新並且永遠不會刷新它們似乎是不直觀的。這似乎是對資源的嚴重浪費。我認爲這種方法好得多。我在那裏添加了一個鏈接。 – Jim
不,更新不會在設置session.FlushMode = FlushMode.Never之後累積。我通過在你的問題中覆蓋SaveOrUpdateEventListeners來檢查它,並且偵聽器不會用FlushMode.Never調用。在您的解決方案中,每次更改都會調用NoOpEventListener – razon