Właściwy sposób profilowania DbContext przy użyciu MiniProfiler i EF 5 i Autofac
TheStrona MiniProfiler podaje następujący kod do generowania Entity FrameworkObjectContext
:
public static MyModel Get()
{
var conn = new StackExchange.Profiling.Data.EFProfiledDbConnection(GetConnection(), MiniProfiler.Current);
return ObjectContextUtils.CreateObjectContext<MyModel>(conn); // resides in the MiniProfiler.EF nuget pack
}
Jednak używając Entity Framework 5, nie używamObjectContext
- raczej używamDbContext
. Nie mogę podłączyć nazwy modelu tutaj, ponieważCreateObjectContext<T>()
metoda oczekujeT
być typemObjectContext
. (Z tego samego powodu kod podany wta odpowiedź także nie działa).
Dodatkowo używam autofac do inicjowania połączeń Db. Jest to rejestrowane w następujący sposób (MyData
= nazwa mojego EF DataContext):
Builder.RegisterType<MyData>().As<DbContext>().InstancePerHttpRequest();
Łącząc dwie części: jak mogę użyć autofac do zainicjowania mojego DbContext powiązanego z MiniProfiler.EF? A jeśli nie jest to możliwe, przynajmniej jak mogę wykonać pierwszą część (utwórz metodę fabryczną dla MiniProfiler.EF, aby zwrócićDbContext
)?