【发布时间】:2021-09-14 07:38:00
【问题描述】:
我正在尝试找出是否有办法检索在数据库服务器上执行的(完整)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# 代码中检索这个“完整”语句(还有参数值)?
【问题讨论】:
-
在这里stackoverflow.com/questions/265192/…查看类似的问题(re:生成的SQL)它可能会提供一些见解。
标签: c# linq-to-sql