web-dev-qa-db-fra.com

comment voir SQL généré à partir d'une requête linq

J'essaie juste d'obtenir le SQL généré par une requête linq.

19
RayLoveless

Avec Linq2Sql 

dc.GetCommand(query).CommandText

voir http://msdn.Microsoft.com/en-us/library/system.data.linq.datacontext.getcommand.aspx pour plus d'informations.

Mais j'utilise habituellement LinqPad

22
sgmoore

Il y a 3 façons de faire ça.

1.Vous pouvez utiliser LINQPad.It's Free http://www.linqpad.net/

2.Vous pouvez utiliser SQL Server Profiler dans le serveur SQL (Outils -> SQL Server Profiler)

3.Vous pouvez utiliser le débogueur Visual Studio pour Generate T-Sql (avec n’importe quelle version de Visual Studio).

J'ai écrit un article de blog à propos de cette vérification Comment convertir une requête d'entité Linq en T-SQL?

16
Sampath

Utilisez SQL Profiler si vous utilisez SQL Server comme base de données.

5
Neil Knight
3
RobinJ

Autrement 

Extrait de l'article MSDN Comment: afficher du SQL généré (LINQ to SQL)

Définissez le DataContext.Log Property sur Console.Out et vous le verrez dans la console.

2
Conrad Frix

Le moyen le plus simple que je puisse suggérer est d’utiliser DatabaseLog. Mettez Logaprès l’initialisation DataContext et vous pourrez suivre tout ce que fait EF dans la fenêtre de Visual Studio output.

  DataContext db = new DataContext();
  db.Database.Log = generatedSQL =>
   {
      Debug.WriteLine(generatedSQL);
   };
0
Mudasir

Vous pouvez utiliserOutils de diagnosticdans Visual Studio pour afficher la requête générée.

Pour l'activer, allez en haut à droite, vous pouvez voir recherche rapide et saisir des outils de diagnostic.

Dans les résultats, cliquez sur l'option appropriée et voir ci-dessous la requête générée.

0
KmKrishna