Ronnie Overby
Ronnie Overby

Reputation: 46470

SQL server profiler not showing LINQ To Sql queries

I am trying to view SQL generated by Linq to SQL in the SQL Server Profiler (2005).

I can see the sql sent to the server from anything except for linq to sql.

I'm betting that I need to change event selections for the trace, but not sure what else to select.

I am currently only selecting this: SQL:StmtCompleted - TextData & SPID

I don't want to use data context logging nor the SQL Debug Visualizer. I need to use the profiler.

Why can I not see the LINQ to SQL queries?

Thanks.

EDIT

I added SQL:BatchCompleted and that hasn't helped.

EDIT 2

I added the event RPC:Completed which is found under the Stored Procedures category in event selection. This worked!

Upvotes: 27

Views: 10017

Answers (4)

live-love
live-love

Reputation: 52366

Had the same problem and none of the solutions above worked for me.

What worked for me was adding ToList() enumerator to the query.

Before:

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

After:

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

Upvotes: 0

vzamora
vzamora

Reputation:

There is also an option in the data context class to enable log in the client side. When log is enabled is possible to see the queries.

See this link:

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

Upvotes: 1

cjk
cjk

Reputation: 46425

You need RPC call - the queries are executed as exec_sql.

Upvotes: 37

marc_s
marc_s

Reputation: 754538

Are you including enough of the options in the SQL Profiler to see the BatchCompleted events, too?

Marc

Upvotes: 2

Related Questions