有幾種辦法可以跟蹤這些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();
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/