我正在尝试将 MVC-mini-Profiler 集成到我的 mvc 项目中,以帮助分析数据调用。我正在使用实体框架 4.1。在 Profiler 文档中说使用:
var conn = ProfiledDbConnection.Get(GetConnection());
GetConnection() 需要返回一个 System.Data.Common.DbConnection。有谁知道如何从当前上下文中获取 System.Data.Common.DbConnection ?
我正在尝试将 MVC-mini-Profiler 集成到我的 mvc 项目中,以帮助分析数据调用。我正在使用实体框架 4.1。在 Profiler 文档中说使用:
var conn = ProfiledDbConnection.Get(GetConnection());
GetConnection() 需要返回一个 System.Data.Common.DbConnection。有谁知道如何从当前上下文中获取 System.Data.Common.DbConnection ?
您有 2 个选项:
如果你已经创建了 EF 容器,你可以这样做:
var conn = (SqlConnection)((EntityConnection)efContainer.Connection).StoreConnection
如果要使用新连接创建 EF 容器,可以使用 EF 连接字符串创建新连接,如下所示:
var connectionString = new EntityConnectionStringBuilder(ConfigurationManager.ConnectionStrings["EFConnectionString"].ConnectionString);
DbConnection con = new SqlConnection(connectionString.ProviderConnectionString);
con = ProfiledDbConnection.Get(con);
return ObjectContextUtils.CreateObjectContext<EFContainer>(con);