SQL server探查器未显示LINQ到SQL查询
我试图在SQLServer探查器(2005)中查看由LINQtoSQL生成的SQL 我可以看到从任何地方发送到服务器的sql,除了linq到sql 我打赌我需要更改跟踪的事件选择,但不确定还要选择什么 我目前仅选择以下选项: SQL:StmtCompleted-TextData和SPID 我不想使用数据上下文日志记录或SQL调试可视化工具。我需要使用分析器 为什么我看不到LINQ到SQL查询 谢谢 编辑 我添加了SQL:BatchCompleted,但这没有帮助 编辑2SQL server探查器未显示LINQ到SQL查询,sql,sql-server,sql-server-2005,linq-to-sql,sql-server-profiler,Sql,Sql Server,Sql Server 2005,Linq To Sql,Sql Server Profiler,我试图在SQLServer探查器(2005)中查看由LINQtoSQL生成的SQL 我可以看到从任何地方发送到服务器的sql,除了linq到sql 我打赌我需要更改跟踪的事件选择,但不确定还要选择什么 我目前仅选择以下选项: SQL:StmtCompleted-TextData和SPID 我不想使用数据上下文日志记录或SQL调试可视化工具。我需要使用分析器 为什么我看不到LINQ到SQL查询 谢谢 编辑 我添加了SQL:BatchCompleted,但这没有帮助 编辑2 我添加了事件RPC:Co
我添加了事件RPC:Completed,它位于事件选择中的存储过程类别下。这成功了 在SQL事件探查器中包含的选项是否足够多,以查看BatchCompleted事件
Marc您需要RPC调用-查询以exec_sql的形式执行。数据上下文类中还有一个选项,用于在客户端启用日志。启用日志后,可以查看查询 请参阅此链接:
也有同样的问题,上面的解决方案都不适合我 对我有效的方法是向查询中添加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
图…我仍然希望stmt completed能够正常工作,但它没有为SQL Server Profiler 2017(v14.0.17099)添加RPC:Starting属性,如:Menu\File\Properties\Events Selection\storage Procedures\[X]RPC:Starting。这个链接似乎断了