我最近一直在研究LINQ,并希望了解更多信息,并且正在寻找一种可视化查询的简单方法,以便更详细地了解查询过程中发生的事情。
有没有人知道可以公开使用的任何工具来完成这样的事情?
谢谢,
约什
答案 0 :(得分:10)
您可能想在Jon Skeet博客的Visual LINQ上阅读这篇文章。 Visual LINQ是一个工具,可以让您直观地观察您的LINQ查询。
您可以直接下载here的文件。
希望这有帮助。
编辑:Scott Gu的博客上还有一篇关于LINQ to SQL Debug Visualizer的文章,可能对您有帮助。
答案 1 :(得分:1)
这取决于你在谈论什么样的LINQ。如果您指的是LINQ-to-Objects,那么WYSIWYG;除了针对某些标准框架库进行优化的一些方法之外(例如Count()
上的IEnumerable
扩展方法足够聪明,如果目标可枚举实现{{1},则调用Count
属性}},没有根据具体情况进行的真正优化。
对于像LINQ-to-SQL这样的东西,你必须使用特定于数据库的监视工具,比如用于MS SQL Server的SQL Server Profiler。
答案 2 :(得分:1)
您还可以在SQL Management Studio中使用SQL事件探查器(快速版中不提供)。您可以看到SQL Server如何处理Linq查询。
答案 3 :(得分:0)
SQL Server Profiler可能是您最好的选择。您可以在执行查询时观察并查看已发生的所有事情的运行日志。它非常易于配置,您可以将其设置为仅捕获您感兴趣的事件。
试试此视频教程:http://sqlserverpedia.com/wiki/Using_SQL_Server_Profiler
答案 4 :(得分:0)
我多次使用的Linq to SQL查询的一个很棒的工具是Linq to SQL Profiler。它不仅可以显示您的查询,还可以帮助您了解如何优化它们以避免诸如N + 1之类的陷阱。