1

我正在嘗試將MVC-mini-Profiler集成到我的mvc項目中以幫助分析數據調用。我正在使用實體框架4.1。在Profiler文檔中說的用法:MVCminiProfiler db profiler,如何獲取dbConnection與實體框架

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

GetConnection()需要返回一個System.Data.Common.DbConnection。有誰知道如何從當前上下文獲取System.Data.Common.DbConnection?

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

回答

1

你有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);