2014-04-08 64 views
1

在nhibernate配置上設置ado.batch_size屬性時,它將被忽略。 如果我調試會話,它顯示批處理大小爲1,即使我將它設置爲25.用於Sybase的NHibernate批處理

NHibernate 3.3.3是否支持Sybase Anywhere的批處理?

回答

1

只有SQL Server客戶端和Oracle客戶端才支持批處理。 Sybase驅動程序使用NonBatchingBatcher,這意味着沒有批處理。

擴展驅動程序使用批處理
我已經創建了一個用於測量機NHibernate的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; 
      }); 
+0

同樣的配料代碼作品對於SybaseASE。謝謝。 – Malcolm