为什么忽略NHibernate的adonet.batch_size设置 - session.SetBachSize()抛出异常?

时间:2012-06-20 11:51:10

标签: nhibernate exception batch-file bulk

我正在使用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}

  

如果我尝试在交易内外设置批量大小,则没有任何区别。

1 个答案:

答案 0 :(得分:2)

NHibernate只有一些RDBM的批处理程序。如果找不到有问题的数据库,则默认为nonbatchingbatcher,它根本无法批处理。你可以实现自己的IBatcher