《ASP.NET 3.5揭秘》一书中有详细的描述:

1. 使用LINQ to SQL Debug Visualizer,http://www.scottgu.com/blogposts/linqquery/sqlserverqueryvisualizer.zip,将其解压到D:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\Visualizers\,然后就可以再断点处进行跟踪了
2. 使用页面的Trace来跟踪所有的Linq语句,方法是将下面的代码放到App_Code文件夹
using System.Web;
using System.IO;
using System.Globalization;
public class TraceWriter : TextWriter
{
public TraceWriter():base(CultureInfo.CurrentCulture) { }
public override void Write(string value) { HttpContext.Current.Trace.Warn(value); }
public override void Write(char[] buffer, int index, int count) { HttpContext.Current.Trace.Warn("Linq", new string(buffer, index, count)); }
public override System.Text.Encoding Encoding { get { return System.Text.Encoding.Unicode; }
}
之后可以设置:
MyDatabaseDataContext db = new MyDatabaseDataContext();
db.Log = new TraceWriter();
grd.DataSource = db.Movies;
grd.DataBind();

如果是使用LinqDataSource控件的话,可以在oncontextcreated事件中:
protected void srcMovies_ContextCreated(object sender, LinqDataSourceStatusEventArgs e)
{
((MyDatabaseDataContext)e.Result).Log = new TraceWriter();
}