【问题标题】:NHibernate Batching for SybaseSybase 的 NHibernate 批处理
【发布时间】:2014-04-08 09:34:24
【问题描述】:

在 nhibernate 配置上设置 ado.batch_size 属性时,它会被忽略。 如果我调试会话,即使我将其设置为 25,它也会将批处理大小显示为 1。

NHibernate 3.3.3 是否支持 Sybase Anywhere 批处理?

【问题讨论】:

    标签: nhibernate


    【解决方案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;
                });
    

    【讨论】:

      猜你喜欢
      • 2013-12-15
      • 2013-05-02
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多