繁体   English   中英

SQL Server Profiler不显示LINQ To SQL查询

[英]SQL server profiler not showing LINQ To Sql queries

我正在尝试在SQL Server Profiler(2005)中查看Linq生成的SQL。

我可以看到从linq到sql以外的任何其他设备发送到服务器的sql。

我敢打赌,我需要更改跟踪的事件选择,但不确定其他选择。

我目前仅选择此选项:SQL:StmtCompleted-TextData&SPID

我既不想使用数据上下文日志记录,也不想使用SQL Debug Visualizer。 我需要使用探查器。

为什么看不到LINQ to SQL查询?

谢谢。

编辑

我添加了SQL:BatchCompleted,但没有帮助。

编辑2

我添加了事件RPC:Completed,该事件在事件选择的“存储过程”类别下找到。 这工作了!

您需要RPC调用-查询将作为exec_sql执行。

您是否在SQL事件探查器中包含足够的选项来查看BatchCompleted事件?

数据上下文类中还有一个选项可以在客户端启用日志。 启用日志后,可以查看查询。

看到这个链接:

http://www.davidhayden.com/blog/dave/archive/2007/08/17/DataContextLogLoggingLINQToSQLOutputConsoleDebuggerOuputWindow.aspx

遇到同样的问题,上面的解决方案都不适合我。

对我有用的是在查询中添加ToList()枚举器。

之前:

var data = null == id ?
                   (from ...
                    select new
                    {
                        ...
                    })
                :
                   (from ..
                    select new
                    {
                        ...
                    });

后:

var data = null == id ?
                   (from ...
                    select new
                    {
                        ...
                    }).ToList()
                :
                   (from ..
                    select new
                    {
                        ...
                    }).ToList();

foreach (var obj in data)
{
   xxx = obj.somename; --> now you can see the sql query in Profiler

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM