ナゲット経由でプロジェクトに MiniProfiler と MiniProfiler.EF をインストールしました。
MiniProfiler を使用する前に、モデル リポジトリでこれを使用して接続を開きます。
public class NotificationRepository
{
private CBNotificationModel.CB_NotificationEntities db;
public NotificationRepository()
{
db = new CB_NotificationEntities();
}
public NotificationContact GetNotificationContacts()
{
return db.NotificationContacts.ToList();
}
}
私が作成したミニプロファイラーを使用するには:
public static class ConnectionHelper
{
public static CB_NotificationEntities GetEntityConnection()
{
var conn = new StackExchange.Profiling.Data.EFProfiledDbConnection(GetConnection(), MiniProfiler.Current);
return ObjectContextUtils.CreateObjectContext<CB_NotificationEntities>(conn); // resides in the MiniProfiler.EF nuget pack
}
public static EntityConnection GetConnection()
{
return new EntityConnection(ConfigurationManager.ConnectionStrings["CB_NotificationEntities"].ConnectionString);
}
}
モデルリポジトリは現在使用しています
db = ConnectionHelper.GetEntityConnection();
ただし、これによりエラーが発生します。
タイプ 'System.StackOverflowException' の未処理の例外が mscorlib.dll で発生しました
手順がありませんか?MiniProfilerEF.Initialize() と MiniProfilerEF.Initialize_EF42() を Application_start() に追加しようとしましたが、それは与えられたエラーを変更するだけです。
コードファーストでない限り、miniprofiler を使用するようにエンティティ フレームワーク プロジェクトをセットアップするための情報はあまりないようです。