我的LINQ-to-SQL查询正在执行什么T-SQL?

时间:2010-04-07 17:22:45

标签: linq-to-sql

有没有简单的方法可以找出我的LINQ-to-SQL查询生成的T-SQL?

最好使用一些LINQ入口点,而不是像 Microsoft SQL Server Profiler LINQ-to-SQL Profiler 这样的许可软件产品。

3 个答案:

答案 0 :(得分:1)

如果您的C#代码中有Linq-to-SQL查询,只需调试到​​您的应用程序并将鼠标悬停在获取结果的变量上 - 您应该能够检查该Linq使用的实际SQL to-SQL查询。

alt text http://i42.tinypic.com/okudf7.png

请参阅完整图片:http://tinypic.com/view.php?pic=okudf7&s=5

答案 1 :(得分:1)

您可以使用DataContext类的Log属性。以下是一个示例:DataContext.Log - Logging LINQ To SQL Output to Console or Debugger Output Window

答案 2 :(得分:1)

调用查询的ToString()方法。

只要结果集为IQueryable<T>,ToString()方法就会输出查询:

dbDataContext db = new dbDataContext();

var query = from c in db.Customers
                    where c.Name == "foo"
                    select c;

Response.Write(query.ToString());