Использование различной перегрузки DataContext в Linq-to-SQL
Возможный дубликат:
Помогите настроить mvc mini profiler с помощью Linq для Sql
Мы использовали Linq-to-SQL для сохранения базы данных. Раньше я создавал свой экземпляр DataContext
в моих репозиториях вот так:
DbContext db = new DbContext();
Теперь, когда я хочу профилировать свою базу данных с помощью мини-профилировщика mvc, я использовал следующий подход для создания DataContext
объект
partial class DBContext
{
public static DBContext Get()
{
var conn = ProfiledDbConnection.Get(new SqlConnection(connectionString));
return new DBContext(conn);
}
}
я получил DataContext
объект хороший, но когда я запускаю запросы Linq к этому объекту, он дает мне исключение нулевой ссылки для методов, которые ранее работали нормально. Есть идеи, почему он так себя ведет?
Изменить: Хорошо, это запрос liqn, который дает мне исключение нулевой ссылки
var val = (from mod in db.sysModules
where
mod.ModuleActionResult.ToLower().Equals(actionName.ToLowerInvariant())
select mod).SingleOrDefault();
обратите внимание, что это не db, который является нулевым, а расширение sysModules на самом деле выдает исключение. Посмотрите на следующий снимок экранакогда я пытался расширить sysmodules в представлении результатов здесь, это дает исключение нулевой ссылки. Когда я создал экземпляр DataContext, используя новое ключевое слово, все работает нормально.
Edit2: исключение выдается в MiniPofiler.cs по методу AddSqlTiming. Пожалуйста, посмотрите на трассировку стека