Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/debugging/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq to sql 在SSMS中执行LINQ生成的SQL_Linq To Sql_Debugging - Fatal编程技术网

Linq to sql 在SSMS中执行LINQ生成的SQL

Linq to sql 在SSMS中执行LINQ生成的SQL,linq-to-sql,debugging,Linq To Sql,Debugging,我使用linqdatacontext的Log属性将生成的SQL发送到调试窗口。(关于这一点,有一种说法)。这很好,只是输出的SQL参数是一些SQL注释,因此我无法在ManagementStudio中运行查询。下面是一个例子: SELECT * FROM table WHERE id IN (@p0,@p1,@p2) -- @p0: Input Int (Size = 0; Prec = 0; Scale = 0) [5] -- @p1: Input Int (Size = 0; Prec = 0

我使用linqdatacontext的Log属性将生成的SQL发送到调试窗口。(关于这一点,有一种说法)。这很好,只是输出的SQL参数是一些SQL注释,因此我无法在ManagementStudio中运行查询。下面是一个例子:

SELECT * FROM table WHERE id IN (@p0,@p1,@p2)
-- @p0: Input Int (Size = 0; Prec = 0; Scale = 0) [5]
-- @p1: Input Int (Size = 0; Prec = 0; Scale = 0) [1]
-- @p2: Input Int (Size = 0; Prec = 0; Scale = 0) [13189086]
那么,是否有任何工具可以将此文本转换为有效的SQL?

您可以抓取(免费!)并直接运行LINQ to SQL。然后单击LINQPad中的“SQL”选项卡以查看生成的SQL。它将为您声明所有参数,您可以将其复制/粘贴到SSMS中(或从SQL选项卡中单击“分析SQL”在SSMS中启动)。您也可以直接从LINQPad运行它

截图:


谢谢,这是一个很好的条目,但不是我想要的答案。您想要的结果是否只是SQL语句,其中所有的参数占位符都替换为它们的值?或者您仍然希望包含
DECLARE
语句,类似于我的响应中的LINQPad输出?声明参数会很好,但替换参数是合理的。目标是使查询能够执行。