从C#调试器中的参数化查询中获取实际的SQL查询



我正在尝试获取查询,以便操作它并直接在SQL Server中运行它。这是一个参数化查询,就像我在VS2017:中的.NET 4+调试器中一样

SELECT DISTINCT name, 
CASE WHEN title = @searchTitle OR fullname = @searchFullName THEN 1 
ELSE ...
AS sorting
ORDER BY sorting ASC;

忽略任何语法问题,因为查询只是一个示例,运行良好。我也正确设置了参数,而且需要注意的是,有大量的实际参数,所以我不可能复制和粘贴。查询是这样执行的:

return this.dataProvider.ExecuteMyLikeQueryTerms(
dr =>
{
var dt = new DataTable();
dt.Load(dr);
return dt;
},
query,
parameters,
connection);

如何获取已执行并添加了所有参数的SQL,以便在调试器中看到它并将其粘贴到SQL Server中?我有一个很大的查询,正在试图追踪它。

您已经发送了确切的查询,其中包括参数(而不是参数值(。你能在这里得到的最接近的是伪造一些局部变量:

declare @searchTitle nvarchar(max) = N'whatever';
-- etc

在查询之前(MiniProfiler就是这样做的,以便可以复制/粘贴可运行的查询(

相关内容

  • 没有找到相关文章

最新更新