使用 MvcMiniProfiler 分析实体框架
我有一个 Asp.net Mvc 3 应用程序,现在正在使用 MvcMiniProfiler。我还使用实体框架来访问我的数据库,并且我希望使探查器能够使用实体模型。到目前为止,我已经创建了下面的 Context 工厂:
internal class ProfiledContextFactory : IContextFactory
{
public ModelContainer GetContext()
{
var conn = ProfiledDbConnection.Get(GetConnection());
return ObjectContextUtils.CreateObjectContext<ModelContainer>(conn);
}
private static EntityConnection GetConnection()
{
return new EntityConnection(ConfigurationManager.ConnectionStrings["ModelContainer"].ConnectionString);
}
}
当我运行上面的代码时(当我启动工作单元时由我的存储库层调用),在 MvcMiniProfiler.ProfiledDbServices 类中调用 CreateDbCommandDefinition 时,它会陷入无限循环。
有什么线索我做错了吗?
I've got an Asp.net Mvc 3 Application which is now using the MvcMiniProfiler. I'm also using the Entity Framework to access my database, and I'd like to enable the profiler to work with the entity model. So far I've created the Context factory below:
internal class ProfiledContextFactory : IContextFactory
{
public ModelContainer GetContext()
{
var conn = ProfiledDbConnection.Get(GetConnection());
return ObjectContextUtils.CreateObjectContext<ModelContainer>(conn);
}
private static EntityConnection GetConnection()
{
return new EntityConnection(ConfigurationManager.ConnectionStrings["ModelContainer"].ConnectionString);
}
}
When I run the above code, which is called by my repository layer when I start a unit of work, it gets stuck in an infite loop when calling CreateDbCommandDefinition in the MvcMiniProfiler.ProfiledDbServices class.
Any clues what I'm doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是我的 GetConnection 返回的是 EntityConnection,而不是 EntityConnection 中的 SqlConnection。我现在修改了我的代码,使其显示为:
并且它工作正常。
我在查看这个问题时发现了这一点: 使用 mvc-使用 EF 4.0 和 Ninject 的迷你分析器
The problem was my GetConnection was returning the EntityConnection, not the SqlConnection within the EntityConnection. I've now modified my code so that it reads:
And it works fine.
I discovered this while looking at this question: Using mvc-mini-profiler with EF 4.0 and Ninject