получить сгенерированный sql из скомпилированного запроса linq - PullRequest
7 голосов
/ 08 апреля 2011

Можно ли получить сгенерированный SQL из скомпилированного запроса linq?

Ответы [ 3 ]

9 голосов
/ 08 апреля 2011

Вы можете:

  1. Используйте свойство журнала контекста, чтобы перенаправить сгенерированный запрос в окно вывода Visual Studio. ссылка
  2. Или используйте LINQ to SQL Debug Visualizer. ссылка
2 голосов
/ 08 апреля 2011

Используйте LinqPad :

Или, наоборот, используйте SQL Server Profiler для просмотра запроса.Однако я знаю, что вы раньше могли отладить переменную запроса в отладке, и она покажет вам запрос, который он собирается выполнить, но я не совсем уверен, работает ли он по-прежнему (определенно не в приложениях на стороне клиента)

0 голосов
/ 04 августа 2016

Спасибо, jfs, но ссылка в вашем варианте № 1 больше не годится. Это не показывает соответствующую статью. Ссылка Криса Б. на статью MSDN помогла мне.

Вот мое решение, так как мое не консольное приложение:

TextWriter tw = new StringWriter();
db.Log = tw;
IQueryable<Customer> custQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

string output = tw.ToString();   
// output variable has the generate SQL now
...