有几种办法可以跟踪这些SQL语句:
1. DataContext本身有提供Log属性来将LINQ to SQL生成的SQL语句格式化并输出到控制台窗口, 通常是这样:
DataContextInstance.Log = Console.Out;
2. 使用SQL Profiler来侦测SQL语句, 这个做法通用于任何的应用程序, 实际上也是一个必须要了解的跟踪手段, 当性能真正出现问题是, 这可是个不可少的利器之一.
3. SQL Profiler虽然好用, 但是对于开发阶段你可能不会想去了解那么多的细节, 例如SQL语句的执行情况, CPU耗费时间等等, 尤其是刚开始学习LINQ to SQL的时候, 由于对语法的不熟悉, 可能更多的时候是关心如何用LINQ to SQL的API构造出你想要的SQL语句, 例如到底API映射成了inner join还是left join, 到底执行了多少次的sql, 当你关心这个的时候, 如果要是能将Log信息直接发送到Debug的输出窗口, 那该多方便啊. Kris Vandermotten 已经创建好了一个这个工具类, 你只要使用这样的语法:
MyDataContext db = new MyDataContext(); db.Log = new DebuggerWriter();
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/