在nhibernate配置中设置ado.batch_size属性时,将忽略它。 如果我调试会话,它将批量大小显示为1,即使我将其设置为25。
NHibernate 3.3.3是否支持Sybase Anywhere的批处理?
答案 0 :(得分:1)
仅SQL Server客户端和Oracle客户端不支持批处理。 Sybase驱动程序使用NonBatchingBatcher,这意味着不进行批处理。
使用批处理的扩展驱动程序
我已经为NHibernate创建了一个Batcher http://pastebin.com/gbPs6w4a
示例配置
关键是db.Driver
Configuration.DataBaseIntegration(
db =>
{
db.ConnectionString = "Some Connection String"
db.KeywordsAutoImport = Hbm2DDLKeyWords.None;
db.Driver<SybaseSQLAnywhereDotNet4WithBatcherDriver>();
db.Dialect<SybaseSQLAnywhere12Dialect>();
db.BatchSize = 25;
db.LogSqlInConsole = showSqlInConsoleWindow;
db.LogFormattedSql = showSqlInConsoleWindow;
});