最初にEFコードを使用し、Contextコンストラクター内でミニプロファイラーを使用します。新しい接続ファクトリを作成し、これをProfiledDbConnectionFactoryメソッドに渡します。これにより、プロファイルされた接続が返され、コンテキストのDefaultConnectionFactoryとして設定できます。
public MyConext()
{
var factory = new ConnectionFactory();
var profiled = new MvcMiniProfiler.Data.ProfiledDbConnectionFactory(factory);
Database.DefaultConnectionFactory = profiled;
}
接続ファコトリーは新しいSQL接続を返すだけです
public class ConnectionFactory :IDbConnectionFactory
{
public DbConnection CreateConnection()
{
var cnn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["SomeConnection"].ToString());
return cnn;
}
また、ProfiledDBProviderをWeb構成ファイルに追加する必要があります。バージョン番号が正しいことを確認してください。
<system.data>
<DbProviderFactories>
<remove invariant="MvcMiniProfiler.Data.ProfiledDbProvider" />
<add name="MvcMiniProfiler.Data.ProfiledDbProvider" invariant="MvcMiniProfiler.Data.ProfiledDbProvider"
description="MvcMiniProfiler.Data.ProfiledDbProvider"
type="MvcMiniProfiler.Data.ProfiledDbProviderFactory, MvcMiniProfiler, Version=1.7.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
</DbProviderFactories>
</system.data>
これは、Miniprofilernugetパッケージを使用するMVCとasp.netの両方のWebフォームで問題なく機能します。また、グローバルアクションフィルターの一部としてプロファイリングを自動構成するnugetパッケージの新しいMVCバージョンも確認します。