Я пытаюсь выяснить, есть ли способ получить (полный) 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
Есть ли способ получить этот "полный" оператор (так же, как и значения параметра) из кода С#?