3

При использовании SQL Server Profiler для отслеживания SQL-запросов, выполняемых Entity Framework, я вижу некоторые запросы, которые просто не должны выполняться, и я не могу определить, какая часть кода является причиной!Отладка точки останова при выполнении EF SQL

В Visual Studio Professional 2012 существует ли способ отлаживать отладчик при выполнении любого SQL-запроса, чтобы я мог видеть стек вызовов?

ответ

5

Если вы хотите (и разрешили) изменить контекст: да. Вы можете поместить это в конструкторе данного контекста:

#if DEBUG 

    this.Database.Log = s => 
     { 
      Debug.WriteLine(s); 
     }; 

#endif 

Теперь вы можете поставить точку останова на Debug.WriteLine(s); и проверить трассировку стека, когда он ударил.

Вы можете сделать контрольную точку условной, чтобы видеть только запросы, например. положив s.Contains("[") в состояние перерыва.

Смежные вопросы