我有一个使用MvcMiniProfiler的Asp.net MVC3应用程序。我还使用Entity Framework来访问我的数据库,并且我想启用分析器来处理实体模型。到目前为止,我已经创建了下面的上下文工厂:
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时,它被卡在一个内部循环中。
有线索知道我做错了什么吗?
发布于 2011-06-27 19:06:09
问题是我的GetConnection返回的是EntityConnection,而不是EntityConnection中的SqlConnection。我现在修改了我的代码,使其如下所示:
private static SqlConnection GetConnection()
{
var connStr = ConfigurationManager.ConnectionStrings["ModelContainer"].ConnectionString;
var entityConnStr = new EntityConnectionStringBuilder(connStr);
return new SqlConnection(entityConnStr.ProviderConnectionString);
}它工作得很好。
我在查看这个问题时发现了这一点:Using mvc-mini-profiler with EF 4.0 and Ninject
https://stackoverflow.com/questions/6443398
复制相似问题