2010-11-09 8 views
1

LINQ-to-SQL avait plusieurs façons, y compris un complément de visualiseur, d'afficher le SQL généré à partir d'un IQueryable.Voir les requêtes générées par EF4?

Je ne trouve pas l'équivalent pour Entity Framework 4. Rien sur StackOverflow, pas de blogs. Comment est-il fait? De préférence, je voudrais être en mesure de le faire dans le code et sans avoir à exécuter réellement la requête juste pour le voir.

Merci!

Répondre

5

Il existe plusieurs approches pour regarder le sql.

Gratuit

  1. Sur ObjectQuery do .ToTraceString() qui u montrer le SQL généré pour la requête.
  2. Télécharger le fournisseur de traçage ef écrit par l'un des membres de l'équipe EF. E F Tracing Provider
  3. Linq To Entities visualiseur que vous pouvez télécharger here.
  4. LINQPad
  5. Sqlserver profileur

commercial

  1. Efprof.com
1

Salut, il ya ce visualizer ... mais je ne pouvais pas le faire fonctionner pour moi ... vous pouvez l'essayer .. Je recommanderais LINQPad pour afficher vos requêtes, vous pouvez configurer votre connexion ef et exécuter vos requêtes.

2

Si vous ne parvenez pas à faire fonctionner les autres solutions, vous pouvez essayer d'utiliser SQL Server Profiler si vous avez accès à SQL Machine.

Dans SQL Server Management Studio, vous pouvez effectuer les opérations suivantes:

Outils -> Générateur de profils SQL Server.

Créez une nouvelle trace et exécutez votre code et vous devriez voir les requêtes se rencontrer. Vous pouvez créer des filtres afin de ne pas voir les éléments de sécurité/d'audit dont vous ne vous souciez probablement pas.

2

Voir ma réponse ici: Linq & String.ToLower() strange behavior

Il permet SQL à déverser de tracer, ou là où vous le souhaitez.

+0

Oui, je cherchais ceci: '(requête (System.Data.Objects.ObjectQuery)) .ToTraceString()' –

Questions connexes