我正在尝试将MVC-mini-Profiler集成到我的mvc项目中,以帮助分析数据调用。我正在使用Entity Framework 4.1。在Profiler文档中说使用:
var conn = ProfiledDbConnection.Get(GetConnection());
GetConnection()需要返回System.Data.Common.DbConnection。有谁知道如何从当前上下文获取System.Data.Common.DbConnection?
答案 0 :(得分:1)
您有两个选择:
如果您已经创建了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);