我正在使用NHibernate并从我的本地SQLExpress数据库切换到Oracle11g。
我的代码开始抱怨。会话对象方法SetBatchSize()抛出System.NotSupported异常:
没有为会话工厂定义批量大小,禁用批处理。设置adonet.batch_size = 1以启用批处理。
它适用于SQLExpress数据库。好的,所以我添加了这个
<property name="adonet.batch_size">1</property>
到配置但它仍然抛出相同的异常。会话Batcher属性设置为此
价值:{NHibernate.AdoNet.NonBatchingBatcher}
类型:NHibernate.Engine.IBatcher {NHibernate.AdoNet.NonBatchingBatcher}
如果我尝试在交易内外设置批量大小,则没有任何区别。
答案 0 :(得分:2)
NHibernate只有一些RDBM的批处理程序。如果找不到有问题的数据库,则默认为nonbatchingbatcher,它根本无法批处理。你可以实现自己的IBatcher
。