Получить оператор LINQ to sql (IQueryable) С параметрами

Я пытаюсь выяснить, есть ли способ получить (полный) оператор sql, который выполняется на сервере базы данных.
Я уже кое-что нашел, но это не совсем то, что мне хотелось бы:

IQueryable<SomeType> someQuery = ...
string command = dataContext.GetCommand(query).CommandText;

В моем случае это дает мне командную строку примерно такого вида:

SELECT TOP (50) [t0].[ID], ....
FROM [dbo].[someTable] AS [t0]
WHERE ([t0].[someColumn] IS NOT NULL) AND (([t0].[someColumn]) IN (@p0))

В базе данных выполнено:

exec sp_executesql N'SELECT TOP (50) [t0].[ID], ...
FROM [dbo].[someTable] AS [t0]
WHERE ([t0].[someColumn] IS NOT NULL) AND (([t0].[someColumn]) IN (@p0, @p1))',N'@p0  int,@p1 int',@p0=401,@p1=201

Есть ли способ получить этот 'полный '(а также значения параметров) из кода C #?

35
задан TweeZz 14 June 2011 в 12:53
поделиться