Where I can find SQL Generated by Entity framework?

Few days back I was optimizing the performance with Entity framework and Linq queries and I was using LinqPad and looking SQL generated by the Linq or entity framework queries. After some point of time I got the same question in mind that how I can find the SQL Statement generated by Entity framework?

After some struggling I have managed to found the way of finding SQL Statement so I thought it would be a great idea to write a post about  same and share my knowledge about that. So in this post I will explain how to find SQL statements generated Entity framework queries.

To demonstrate the idea Let’s a very simple console application with C# and then  create a table called ‘Customer’ with CustomerId and CustomerName field in sql server.


SQL Generated by Entity framework

Now once our table is ready it’s time to create a Entity framework model.

How to Find SQL Generated by Entity Framework - Entity Framework Model

Now once Model is ready It’s time to write a simple query in console application where we want to get all customer name like following.

using System;
using System.Runtime.CompilerServices;
using System.Linq;
using System.Data;

namespace EntityframeworkSQL
{
    class Program
    {
        static void Main(string[] args)
        {

            using (CustomerEntities customerEntities = new CustomerEntities())
            {
                var customerNames = from c in customerEntities.Customers
                             select c.CustomerName;
                string sql = ((System.Data.Objects.ObjectQuery)customerNames).ToTraceString();

                Console.WriteLine(sql);

            }
            
        }
    }
}

So here in the above code for that. here I have created a object of my customer entity with help of using and then written a simple query to get all the customer name. Now with the help of System.Data.Objects.ObjectQuery class ToTraceString method I am able to find the SQL Generated by the statement. Here I have direct cast customerNames to ObjectQuery class and find sql generated by statement via ToTraceString method.

Now let’s run this console application via pressing F5 and following is a output as expected.

EntityFrameworkSQLQuery

As you can see the SQL statement generated by entity framework. Hope you like it. Stat tuned for more.

Shout it

kick it on DotNetKicks.com

12 thoughts on “ Where I can find SQL Generated by Entity framework? ”

Leave a Reply

Your feedback are very important to me. Please provide your feedback via putting comments.