Visualize Entity Framework and Linq to SQL queries in LINQPad. For Visual Studio extension see EFCore.Visualizer
Supported databases: Sql Server and PostgreSQL.
Supported ORMs: Entity Framework Core 5
and LINQ to SQL
If you use LINQPad 6 or newer, you must use version 2.X of this library. For LINQPad 5, you must use version 1.X
Version 2.1 and newer uses Microsoft Edge WebView2 to display the query plan. This requires either WebView2 Runtime to be installed or a recent version of Edge Canary. To download WebView2 Runtime visit Microsoft Edge WebView2 Download Page.
If you have a Developer or higher edition of LINQPad, you can use the LINQPadQueryPlanVisualizer
package from NuGet
to add the visualizer to your queries.
To install the visualizer as a LINQPad plugin, download the latest release and drop the visualizer dll directly inside LINQPad's plugins folder (by default found at My DocumentsLINQPad PluginsNetCore3 for LINQPad 6 and My DocumentsLINQPad PluginsFramework 4.6 for LINQPad 5). The plugin will be automatically available in all your queries.
To view query plan or missing indexes, call static QueryPlanVisualizer.DumpPlan(query)
method or call DumpPlan
extension method on an IQueryable
instance. You will also need to add ExecutionPlanVisualizer
to the namespaces list (click F4 to open the dialog). If you want to dump query result as well, pass true
as a second parameter.
Query execution plan for Sql Server:
Query execution plan for PostgreSQL:
For SQL Server, the query plan can also return information about missing indexes in QueryPlan/MissingIndexes/MissingIndexGroup
element. If missing indexes are present in the plan the visualizer will show a second tab with the missing index details and a button to create the index.
Missing index: