1

私は本当にここで何かが欠けていると感じています。MVC Miniprofilerをプロジェクトに統合していますが、正しい接続でコンテキストをインスタンス化する方法が見つかりません。 EFコードファーストと私のモデルがObjectContextにから継承は、ここに私のコードは、これを解決するためにどのようにmvc miniprofilerはDbConnectionとエンティティフレームワークEntityConnectionを使用します

​​

のですか?

+1

これを見てください。 http://stackoverflow.com/questions/6802855/miniprofiler-with-ef-model-first-edmx-model – BZink

答えて

1

MyModelは、Entity Framework Designerによって作成されたコンテキストであると仮定します。 EntityConnectionは、MetadataWorkspaceと組み合わせてDbConnectionから作成できます。

metadata=res://*/Content.MyModel.csdl|res://*/Content.MyModel.ssdl|res://*/Content.MyModel.msl; 

これらは、あなたのMetadataWorkspaceを構成する3つの要素である:私はまた、EF Designerは、このようなものが含まれているあなたのアプリ/ web.configファイルできるように、ConnectionString-プロパティを追加したことを想定しています。あなたは、アレイ内の各ファイルを提供する必要があり、これらの情報から、あなたのEntityConnectionを作成するには:

string[] paths = 
{ 
    // "res://" refers to a embedded resource within your DLL, this is automatically done if 
    // you've used the EF designer. 
    "res://*/Content.MyModel.csdl", 
    "res://*/Content.MyModel.ssdl", 
    "res://*/Content.MyModel.msl" 
}; 

Assembly[] assembliesToConsider = new Assembly[] 
{ 
    typeof(MyModel).Assembly 
}; 

System.Data.Metadata.Edm.MetadataWorkspace workspace = new System.Data.Metadata.Edm.MetadataWorkspace(paths, assembliesToConsider); 
EntityConnection connection = new EntityConnection(workspace, profiledConnection); 

を私はMvcMiniProfiler(最初に今それをインストール)でこれをテストしていませんが、あれば、いくつかの問題があるかもしれませんprofiled-connectionは、元のMySqlConnectionとまったく同じように動作しません。そうでない場合は、セットアップを作成しようとします。