从编译的linq查询中获取生成的SQL
本文关键字:获取 SQL 查询 编译 linq | 更新日期: 2023-09-27 17:49:41
是否可以从编译的linq查询中获得生成的SQL ?
您可以:
- 使用上下文的log属性将生成的查询重定向到Visual Studio的输出窗口。链接
- 或者使用LINQ to SQL调试可视化器。链接
使用LinqPad:
或者使用sql server profiler来监视查询。我知道你曾经能够在调试中查看查询变量,它会显示要执行的查询,但我不完全确定这是否仍然有效(绝对不是在客户端应用程序上)
谢谢jfs,但是选项#1中的链接已经不好了。它没有显示任何相关文章。Chris B的MSDN文章链接帮助了我。
这是我的解决方案,因为我的不是控制台应用程序:
TextWriter tw = new StringWriter();
db.Log = tw;
IQueryable<Customer> custQuery =
from cust in db.Customers
where cust.City == "London"
select cust;
string output = tw.ToString();
// output variable has the generate SQL now