2011-12-27 2 views
0

Я пытаюсь получить его для записи LINQ-to-SQL в мини-профайлер, как the documentation saysASP.net мини-профайлер LINQ к SQL

я добавить это к моему App_Code/DataClasses.designer.cs следующим образом:

public MainContext() : 
     base(global::System.Configuration.ConfigurationManager.ConnectionStrings["ScirraConnectionString"].ConnectionString, mappingSource) 
{ 
    OnCreated(); 
} 

// Code I'm adding in for the mini profiler 
partial class DBContext 
{ 
    public static DBContext Get() 
    { 
     var conn = new MvcMiniProfiler.Data.ProfiledDbConnection(GetConnection(), MiniProfiler.Current); 
     return new DBContext(conn); 
    } 
} 

Но он бросает ошибку:

The name 'GetConnection' does not exist in the current context 

Я также попытался это:

partial class DBContext 
{ 
    public static DBContext Get() 
    { 
     var conn = ProfiledDbConnection.Get(new System.Data.SqlClient.SqlConnection(global::System.Configuration.ConfigurationManager.ConnectionStrings["ScirraConnectionString"].ConnectionString)); 
     return new DBContext(conn); 
    } 
} 

Но он бросает

'MvcMiniProfiler.Data.ProfiledDbConnection' does not contain a definition for 'Get' 

Я refered к How can I make the ASP.NET MVC mini profiler work with Linq 2 SQL?, но ни одно из решений в не похоже на работу для меня.

Может ли кто-нибудь показать мне, как я заработаю его для linq-to-sql?

+0

Вы используете nuget или последний из исходного кода? –

+0

@sam yes Я использовал nuget, и я недавно загрузил бинарный файл –

+0

, вы пробовали новый ProfiledDbConnection (cnn, MiniProfiler.Current)? –

ответ

1

Ваш второй experient должен работать, если вы измените это:

ProfiledDbConnection.Get(...) 

... к этому:

new ProfiledDbConnection(...) 

Так вместо статического геттер вы должны использовать конструктор.

Я думаю, что они изменили API для ProfiledDbConnection где-то между v1 и v2, и вы все еще можете найти пример кода для более старой версии.