log4Netを使用してメッセージをファイルに記録するasp.netアプリケーションがあります。 エンティティフレームワークで最初にコードを使用していることを知って、データベースにメッセージを記録します。 データベースがすでに存在する場合は、現在、データベースとファイルに同時にログを記録できます。 しかし、私が達成したいのは、データベースがまだ作成されていない場合、データベースにメッセージを記録する最初の呼び出しは、データベースを作成してメッセージを記録するということです。 私はglobal.asax.csファイルにこのコードを呼び出すことで、今これを行うことができます。エンティティフレームワークを使用したlog4Net
using (var DataContext = new MyContext())
{
Log logsnew = DataContext.Logs.SingleOrDefault();
}
logger.Info("info test message");
をこれは私のコンテキストのコンストラクタです:私が使用してブロックを毎回避けたい
public MyContext()
: base($"name=MyConnectionString")
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
}
私はメッセージをログに記録する必要があります、これを行う別の方法がありますか?
DbContextクラスにログ設定を移動します。 – Kevorkian
あなたはさらに説明できますか?私のlog4netの設定はweb.congファイルにあります。私はまた、私の文脈に関連するログテーブルを表すクラスを持っています。 – Claritta