Как я могу увидеть SQL, созданный из запроса LINQ to SQL? - PullRequest
3 голосов
/ 18 февраля 2010

Как я могу увидеть SQL, созданный из запроса LINQ to SQL? Очевидный ответ - открыть профилировщик SQL и посмотреть на него там. Есть ли способ в VS?

Может быть, есть надстройка VS, такая как визуализатор, которая позволяет вам наводить курсор на DataContext для просмотра SQL.

Ответы [ 3 ]

5 голосов
/ 18 февраля 2010

Да, вы можете оценить:

query.Expression.ToString()

Вы также можете увидеть эту строку в отладчике в Visual Studio при изучении переменной запроса. Вам не нужен плагин.

Обратите внимание, что это свойство запроса, а не DataContext.

2 голосов
/ 18 февраля 2010

Вы можете установить экземпляр TextWriter (что означает что-либо, производное от TextWriter, поскольку он является абстрактным классом) для свойства Log в DataContext . Когда операторы выполняются для SQL Server, те же операторы будут записываться в TextWriter, установленный в свойстве Log.

Это также относится к вставкам, обновлениям и удалениям, которые также выполняются с этим DataContext.

1 голос
/ 18 февраля 2010

В дополнение к ответу @ Mark вы можете посмотреть LINQPad , который может быть полезен при написании большого количества запросов LINQ.

...