私は MVC3 プロジェクトを持っており、モデルの 1 つは別のクラス ライブラリ プロジェクトとして構築されており、他のアプリケーションで再利用できます。
ミニプロファイラーを使用していますが、このクラス ライブラリから作成されたデータベース接続とクエリをプロファイリングし、結果を MVC3 アプリケーションに返す方法を見つけたいと考えています。
現在、私の MVC3 アプリでは、既存のモデルは次のヘルパー クラスを使用して接続を取得します。
public class SqlConnectionHelper
{
public static DbConnection GetConnection()
{
var dbconn = new SqlConnection(ConfigurationManager.ConnectionStrings["db"].ToString());
return new StackExchange.Profiling.Data.ProfiledDbConnection(dbconn, MiniProfiler.Current);
}
}
外部モデルは、MVC3 アプリケーションやミニプロファイラーについて何も知らないため、この関数を呼び出すことはできません。
私が考えた 1 つの方法はIDbConnection Connection
、外部モデルにフィールドをProfiledDbConnection
作成し、モデルのメソッドを呼び出す前に、このフィールドにオブジェクトを渡すことです。モデルは、このフィールドにあるものをデータベース接続に使用し、MVC3 フロントエンドでプロファイリングされた結果を取得する必要があります。
ただし、これが機能するかどうか、またはこれが最善の方法であるかどうかはわかりません。私が行方不明になっているより良い方法はありますか?