我正在使用NHibernate並從本地SQLExpress數據庫切換到Oracle11g。爲什麼NHibernate的adonet.batch_size設置被忽略 - session.SetBachSize()拋出異常?
我的代碼開始抱怨。會話對象的方法SetBatchSize()拋出一個System.NotSupported異常:
無批次大小爲會話工廠定義,配料被禁用。設置adonet.batch_size = 1啓用批處理。
它在SQLExpress數據庫上工作。好的,所以我將
<property name="adonet.batch_size">1</property>
添加到配置中,但它仍會引發相同的異常。會議配料機屬性設置爲這個
值:{} NHibernate.AdoNet.NonBatchingBatcher
類型:NHibernate.Engine.IBatcher {} NHibernate.AdoNet.NonBatchingBatcher
如果我嘗試在事務內外設置批處理大小,它沒有任何區別。
因此oracle xe沒有batcher,我應該試着繞過SetBatchSize()調用 – mrt181
你不能只指定一個全局的batch_size,或者你真的需要用SetBatchSize()來覆蓋它嗎? – Firo
我已經做到了這一點,現在我知道如果我仍想使用它,我應該總是嘗試/捕獲SetBatchSize() – mrt181