我试图在SQL Server Profiler(2005)中查看Linq to SQL生成的SQL。
我可以看到除了linq到sql之外的任何东西发送到服务器的SQL。
我打赌我需要更改跟踪的事件选择,但不确定还要选择什么。
我目前只选择这个: SQL:StmtCompleted - TextData& SPID
我不想使用数据上下文日志记录,也不想使用SQL Debug Visualizer。我需要使用分析器。
为什么我看不到LINQ to SQL查询?
感谢。
我添加了SQL:BatchCompleted,但没有帮助。
我添加了事件RPC:Completed,它在事件选择中的Stored Procedures类别下找到。这很有效!
答案 0 :(得分:34)
您需要RPC调用 - 查询以exec_sql执行。
答案 1 :(得分:2)
您是否在SQL事件探查器中包含足够的选项以查看BatchCompleted事件?
马克
答案 2 :(得分:1)
数据上下文类中还有一个选项可以在客户端启用日志。启用日志后,可以查看查询。
请看这个链接:
答案 3 :(得分:0)
有同样的问题,上面没有一个解决方案适合我。
对我来说有用的是在查询中添加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