2

the question seems clear enough, but I'll add a case

using (var context = new MyEntities())
{
  if(context.mytable.Any(row => row.myfield == 2))
  {
    // do something here
  }
}

I am new to Entity Framework. I don't know how to check the exact sql query executed?

3 Answers 3

8

As the above answers state, you can use SQL Profiler, LINQPad, EF Profiler, etc.

Another little known (some might say lazy) trick is to use ObjectQuery.ToTraceString() extension method.

Just cast your query as ObjectQuery<T>.

var query = context.mytable.Any(row => row.myfield == 2));
var trace = ((ObjectQuery<MyTable>)query).ToTraceString();

It will spit out the SQL that is to be executed.

Very handy for last-minute logging.

Sign up to request clarification or add additional context in comments.

Comments

4

You can find a similar question here: How to view generated SQL from Entity Framework?

To sum up, your choices are:

See the referenced question for details.

Comments

0

If you are connecting to SQL Server, you can use the SQL Profiler in order to obtain the SQL that is generated.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.