显示每个请求的所有linq sql查询

时间:2011-03-07 17:55:09

标签: c# sql linq

我想在我的应用程序中显示当前请求的每个页面上所有已执行的linq到sql查询的列表(执行时间会很好)。(作为调试信息)。

有人知道怎么做,或者有人已经建立了一个类来做这个吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

DataContext支持通过Log property进行日志记录。只需附加一个TextWriter实例,您就可以看到生成的所有语句。像这样:

var dc = new DataContext();
dc.Log = Console.Out;

这会将所有语句记录到控制台窗口。

我强烈推荐Damien Guard LINQ to SQL log to debug window, file, memory or multiple writers。他记录到文件,控制台等的不同示例。

另一个选择是使用Ayende的Linq 2 Sql profiler。我自己没有使用它,但我每天使用NHProf,我对它非常满意。