Sybase 的 NHibernate 批处理
Posted
技术标签:
【中文标题】Sybase 的 NHibernate 批处理【英文标题】:NHibernate Batching for Sybase 【发布时间】:2014-04-08 09:34:24 【问题描述】:在 nhibernate 配置上设置 ado.batch_size 属性时,它会被忽略。 如果我调试会话,即使我将其设置为 25,它也会将批处理大小显示为 1。
NHibernate 3.3.3 是否支持 Sybase Anywhere 批处理?
【问题讨论】:
【参考方案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;
);
【讨论】:
以上是关于Sybase 的 NHibernate 批处理的主要内容,如果未能解决你的问题,请参考以下文章
在使用 NHibernate 进行持久性的项目中测试数据模型