NHibernateセッションにバッチサイジングを適用する必要があります。MySQLを使用しています。
NHibernateがMySQLのバッチサイジングをネイティブにサポートしていないことを知った後、私はこのパッケージをインストールしました:
http://www.nuget.org/packages/NHibernate.MySQLBatcher
MySQL用のバッチャーが含まれています。
それから私はバッチャーを注入できるポイントを探していました、そしてこれを見つけました:
NHibernateがMySqlでのバッチ処理をサポートしないのはなぜですか
受け入れられた答えによると、私はこのDataBaseIntegration()
方法のようなものを見つけられません。
誰かがこれを以前に経験したことがありますか?
私はこのパッケージを使用しました、そしてそれは私のために働きました。
私が使用した構成の下:
var cfg = new NHibernate.Cfg.Configuration();
cfg.SetProperty(NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider");
cfg.SetProperty(NHibernate.Cfg.Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver");
cfg.SetProperty(NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.MySQLDialect");
cfg.SetProperty(NHibernate.Cfg.Environment.UseSecondLevelCache, "false");
cfg.SetProperty(NHibernate.Cfg.Environment.UseQueryCache, "false");
cfg.SetProperty(NHibernate.Cfg.Environment.GenerateStatistics, "false");
cfg.SetProperty(NHibernate.Cfg.Environment.CommandTimeout, "300");
cfg.SetProperty(NHibernate.Cfg.Environment.BatchSize, "1000");
cfg.SetProperty(NHibernate.Cfg.Environment.BatchStrategy, typeof(MySqlClientBatchingBatcherFactory).AssemblyQualifiedName);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加