MVCminiProfiler db profiler,如何使用实体框架获取dbConnection

时间:2011-06-29 17:35:40

标签: entity-framework asp.net-mvc-3 ado.net mvc-mini-profiler

我正在尝试将MVC-mini-Profiler集成到我的mvc项目中,以帮助分析数据调用。我正在使用Entity Framework 4.1。在Profiler文档中说使用:

var conn = ProfiledDbConnection.Get(GetConnection());

GetConnection()需要返回System.Data.Common.DbConnection。有谁知道如何从当前上下文获取System.Data.Common.DbConnection?

http://code.google.com/p/mvc-mini-profiler/

1 个答案:

答案 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);