dcarneiro
dcarneiro

Reputation: 7150

get generated sql from a compiled linq query

Is it possible to get the generated SQL from a compiled linq query?

Upvotes: 7

Views: 3434

Answers (3)

Sagar
Sagar

Reputation: 599

Thanks jfs, but the link in your option #1 is not good anymore. It is not showing any relevant article. Chris B's link to the MSDN article helped me.

Here is my solution since mine is not a Console application:

TextWriter tw = new StringWriter();
db.Log = tw;
IQueryable<Customer> custQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

string output = tw.ToString();   
// output variable has the generate SQL now

Upvotes: 0

jfs
jfs

Reputation: 16768

You can:

  1. Use the log property of the context to redirect the generated query to the output window of Visual Studio. link
  2. Or use the LINQ to SQL Debug Visualizer. link

Upvotes: 9

TBohnen.jnr
TBohnen.jnr

Reputation: 5119

Use LinqPad :

Or alternatively get use sql server profiler to watch the query. I know you used to be able to however over the query variable in debug and it would show you the query it is going to execute but I am not entirely sure if that still works (Definitely not on client side apps)

Upvotes: 2

Related Questions