【发布时间】:2014-04-08 09:34:24
【问题描述】:
在 nhibernate 配置上设置 ado.batch_size 属性时,它会被忽略。 如果我调试会话,即使我将其设置为 25,它也会将批处理大小显示为 1。
NHibernate 3.3.3 是否支持 Sybase Anywhere 批处理?
【问题讨论】:
标签: nhibernate
在 nhibernate 配置上设置 ado.batch_size 属性时,它会被忽略。 如果我调试会话,即使我将其设置为 25,它也会将批处理大小显示为 1。
NHibernate 3.3.3 是否支持 Sybase Anywhere 批处理?
【问题讨论】:
标签: nhibernate
仅 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;
});
【讨论】: