在SSMS中执行由LINQ生成的SQL

3
我使用LINQ DataContext的Log属性将生成的SQL发送到调试窗口中。(有一篇关于此的Kris Vandermotten的文章)。这很好用,但输出的SQL参数是一些SQL注释,所以我无法在Management Studio中运行查询。以下是一个例子:
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语句?


您期望的结果仅为带有所有参数占位符替换为其值的SQL语句吗?还是您仍希望包括DECLARE语句,类似于我回复中的LINQPad输出? - Ahmad Mageed
最好将参数DECLARE,但用替换参数也是合理的。目标是拥有一个可执行的查询。 - jaraics
1个回答

2
您可以下载免费的LINQPad并直接运行您的LINQ to SQL。然后单击LINQPad中的“SQL”选项卡以查看生成的SQL。它将为您DECLARE所有参数,您可以将其复制/粘贴到SSMS(或从SQL选项卡单击“分析SQL”以在SSMS中启动它)。您还可以直接从LINQPad运行它。
截图: LINQPad

谢谢,这是一个很好的参考,但不是我正在寻找的答案。 - jaraics

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接