私はCastle ActiveRecordを生成して、生成するSQLを表示しようとしています。私がこれで見つけたさまざまなブログには、2つの選択肢があります。城ActiveRecord:SQLを見るのに最も簡単な方法は何ですか?
(1)NHibernateの「show_sql」設定を使用してください。問題は、私はこのようなプログラム構成を使用しているということです。
var config = XmlConfigurationSource.Build(
DatabaseType.MsSqlServer2008, Settings.Default.StationManagerDbConnectionString);
config.IsRunningInWebApp = isRunningInWebApp;
config.PluralizeTableNames = true;
var modelAssembly = Assembly.GetAssembly(typeof(OneOfMyClasses));
ActiveRecordStarter.Initialize(modelAssembly, config);
プログラム構成では、「show_sql」を指定する方法がないようです。
(2)log4netを使用してください。しかし、log4netの痛みが働くことを除けば、私はのSQLをのSQLにする方法を見つけられませんでした。私はデバッグデータのゴブとゴブを取得します。そのうちのSQL文はほんの一部です。
So:私はCastle ActiveRecordのプログラム構成を維持することはできますが、SQLだけを出力するようにNHibernateを取得する方法はありますか?
EDIT:ここで私はlog4netで作業する必要があります。しかし、私のWebアプリケーションの最初の2ページでは、デバッグウィンドウに14,000行以上が表示されます。このコードを変更してSQLのみを取得するにはどうすればよいですか?
var appender = new log4net.Appender.DebugAppender
{
Layout = new log4net.Layout.SimpleLayout(),
Name = "NHibernate.SQL",
Threshold = log4net.Core.Level.Debug
};
log4net.Config.BasicConfigurator.Configure(appender);
私の編集を参照してください。私は単にSQLを出力するために使用しているlog4net構成コードを変更する簡単な方法はありますか? –
@Kyralessa、私の編集を見てください。このコードはテストされていませんが、動作するはずです。 –
聖なる煙、それは動作します!あなたは天才です! –