Try to build SQl Execution Plan aspect for EF/LINQ-to-SQL
From: http://social.msdn.microsoft.com/Forums/en-US/aaf5e9c9-a222-414a-baed-5c0adcc329e2/accessing-query-execution-plan-results-programmatically
SqlConnectionStringBuilder connString = new SqlConnectionStringBuilder(); connString.ApplicationName = "TryIt"; connString.DataSource = @"(local)"; connString.IntegratedSecurity = true; connString.InitialCatalog = "tempdb"; using (SqlConnection conn = new SqlConnection(connString.ToString())) { conn.Open(); SqlCommand showplan_on_cmd = new SqlCommand("set showplan_xml on", conn); showplan_on_cmd.ExecuteNonQuery(); SqlCommand cmd = new SqlCommand("Select count(*) From sys.tables", conn); using (SqlDataReader showplan_results = cmd.ExecuteReader()) { if (showplan_results.Read()) { Console.WriteLine(showplan_results[0].ToString()); } } SqlCommand showplan_off_cmd = new SqlCommand("set showplan_xml off", conn); showplan_on_cmd.ExecuteNonQuery(); }