Entity Framework 5、MiniProfiler 2 を使用。MiniProfiler.EF 用にインストールされた Nuget。
次のように接続を作成します
var conn = new EFProfiledDbConnection(DbConnections.GetSqlConnection(), MiniProfiler.Current);
return new MyDbContext(conn, true);
DbContext を使用してデータを取得しようとすると、次のエラーが返されます。
Unable to determine the provider name for connection of type
'StackExchange.Profiling.Data.EFProfiledDbConnection'.`
私はweb.configに以下を追加しようとしました:
<system.data>
<DbProviderFactories>
<remove invariant="StackExchange.Profiling.Data.ProfiledDbProviderFactory" />
<add name="StackExchange.Profiling.Data.ProfiledDbProviderFactory"
invariant="StackExchange.Profiling.Data.ProfiledDbProviderFactory"
description="StackExchange.Profiling.Data.ProfiledDbProviderFactory"
type="StackExchange.Profiling.Data.ProfiledDbProviderFactory, MiniProfiler, Version=2.0.2.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
</DbProviderFactories>
</system.data>
それは役に立ちません。MiniProfiler.EntityFramework のさまざまな EFProviderFactories を使用して、これのバリエーションも試しましたが、どれも機能しませんでした。
MiniProfilerEF.Initialize();
で実行App_Start
しようとすると、DB にアクセスしようとすると次のエラーが発生します。
Database First および Model First 開発用の T4 テンプレートを使用して生成されたコードを Code First モードで使用すると、正しく動作しない場合があります。Database First または Model First を引き続き使用するには、実行中のアプリケーションの構成ファイルで Entity Framework 接続文字列が指定されていることを確認してください。Database First または Model First から生成されたこれらのクラスを Code First で使用するには、属性または DbModelBuilder API を使用して追加の構成を追加してから、この例外をスローするコードを削除します。
DbProviderFactories
web.config からセクションを削除して実行MiniProfilerEF.Initialize_EF42();
するApp_Start
と、元のエラーが発生します。
MiniProfiler のページには、MiniProfilerEF.Initialize()
最初はコード専用であると書かれているため、とにかくこれは進むべき道ではないようです。
他の検索では、セクションを Web.Config に追加する以外に、他に試すことはありませんでした。続行する方法に関する推奨事項はありますか?目標は、Mvc MiniProfiler によってプロファイリングされた Model First DbContext を使用できるようにすることです。