Visualisez Entity Framework et les requêtes Linq to SQL dans LINQPad. Pour l'extension Visual Studio, voir EFCore.Visualizer
Bases de données prises en charge : SQL Server et PostgreSQL.
ORM pris en charge : Entity Framework Core 5
et LINQ to SQL
Si vous utilisez LINQPad 6 ou une version plus récente, vous devez utiliser la version 2.X de cette bibliothèque. Pour LINQPad 5, vous devez utiliser la version 1.X
La version 2.1 et les versions ultérieures utilisent Microsoft Edge WebView2 pour afficher le plan de requête. Cela nécessite l'installation de WebView2 Runtime ou d'une version récente d'Edge Canary. Pour télécharger WebView2 Runtime, visitez la page de téléchargement de Microsoft Edge WebView2.
Si vous disposez d'une édition Developer ou supérieure de LINQPad, vous pouvez utiliser le package LINQPadQueryPlanVisualizer
de NuGet pour ajouter le visualiseur à vos requêtes.
Pour installer le visualiseur en tant que plugin LINQPad, téléchargez la dernière version et déposez la DLL du visualiseur directement dans le dossier des plugins de LINQPad (trouvé par défaut dans Mes documentsLINQPad PluginsNetCore3 pour LINQPad 6 et Mes documentsLINQPad PluginsFramework 4.6 pour LINQPad 5 ). Le plugin sera automatiquement disponible dans toutes vos requêtes.
Pour afficher le plan de requête ou les index manquants, appelez la méthode statique QueryPlanVisualizer.DumpPlan(query)
ou appelez la méthode d'extension DumpPlan
sur une instance IQueryable
. Vous devrez également ajouter ExecutionPlanVisualizer
à la liste des espaces de noms (cliquez sur F4 pour ouvrir la boîte de dialogue). Si vous souhaitez également vider le résultat de la requête, transmettez true
comme deuxième paramètre.
Plan d'exécution des requêtes pour SQL Server :
Plan d'exécution des requêtes pour PostgreSQL :
Pour SQL Server, le plan de requête peut également renvoyer des informations sur les index manquants dans l'élément QueryPlan/MissingIndexes/MissingIndexGroup
. Si des index manquants sont présents dans le plan, le visualiseur affichera un deuxième onglet avec les détails de l'index manquant et un bouton pour créer l'index.
Index manquant :