Как я могу заставить мини-профилировщик ASP.NET MVC работать с Linq 2 SQL? - PullRequest
18 голосов
/ 09 июня 2011

Миниатюрный профилировщик ASP.NET MVC выглядит потрясающе, но я не получаю пример использования Linq 2 SQL.

Это пример Linq2SQL из документации профилировщика:

partial class DBContext
{
   public static DBContext Get()
   {
      var conn = ProfiledDbConnection.Get(GetConnection());
      return new DBContext(conn);
      // or: return DataContextUtils.CreateDataContext<DBContext>(conn);
   }
}

Как использовать это в моем реальном приложении?Я бы ожидал какую-то обертку вокруг моего DataContext, но, похоже, это работает по-другому.Я даже не знаю, где этот метод "GetConnection ()" из примера определяется.

Спасибо,

Адриан

Ответы [ 3 ]

7 голосов
/ 09 июня 2011

Наконец-то разобрался. Если у кого-то есть такой же вопрос:

 private static DataClassesDataContext CreateNewContext()
        {
            var sqlConnection = new SqlConnection(<myconnectionstring>);
            var profiledConnection = ProfiledDbConnection.Get(sqlConnection);
            return DataContextUtils.CreateDataContext<DataClassesDataContext>(profiledConnection);

        }
6 голосов
/ 23 июня 2011

Ни один из других ответов не работал для меня.Добавление этого в мой класс DataClassesDataContext в моем DataClasses.Designer.cs сделал:

public static DataClassesDataContext CreateNewContext()
{
     var sqlConnection = new DataClassesDataContext().Connection;
     var profiledConnection = MvcMiniProfiler.Data.ProfiledDbConnection.Get(sqlConnection);
     return new DataClassesDataContext(profiledConnection);
}
3 голосов
/ 09 июня 2011

GetConnection () - это функция, которая возвращает DbConnection.Вы, вероятно, просто вместо этого сделаете

var conn = ProfiledDbConnection.Get(new System.Data.SqlClient.SqlConnection(your_connection_string));

.

...