Maneira correta de criar um perfil de um DbContext usando o MiniProfiler e o EF 5 e o Autofac
oSite do MiniProfiler fornece o seguinte código para gerar um 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
}
No entanto, usando o Entity Framework 5, não estou usandoObjectContext
- estou usando umDbContext
. Não consigo ligar o nome do modelo aqui, já que oCreateObjectContext<T>()
método esperaT
ser do tipoObjectContext
. (Pela mesma razão, o código dado emesta resposta também não funciona).
Além disso, estou usando o autofac para inicializar minhas conexões Db. Isso está sendo registrado com o seguinte (MyData
= o nome do meu EF DataContext):
Builder.RegisterType<MyData>().As<DbContext>().InstancePerHttpRequest();
Portanto, combinando duas partes: como posso usar o autofac para inicializar meu DbContext vinculado ao MiniProfiler.EF? E se isso não for possível, pelo menos como posso fazer a primeira parte (criar um método de fábrica para MiniProfiler.EF para retornar umDbContext
)