10 votes

Entity Framework - Afficher Sql en utilisant toTraceString

J'essaie d'afficher le fichier SQL généré par Entity Framework 5.0 à partir d'une requête d'entités. Partout sur le web, tout le monde dit qu'il faut lancer le fichier IQuerable à un objet ObjectQuery puis utilisez la méthode toTraceString() pour renvoyer la requête générée.

Cependant, je continue à obtenir une exception de cas invalide :

    Unhandled Exception: System.InvalidCastException: Unable to cast object of type
'System.Data.Entity.Infrastructure.DbQuery`1[System.String]' to type 'System.Data.Objects.ObjectQuery'.

Quelle est la nouvelle façon de procéder dans Entity Framework 5 ?

15voto

Richard Points 8614

Vous pouvez visualiser le SQL généré à partir d'un IQueryable en utilisant .ToString() par exemple

var query = context.People.Where(x => x.DomainId == 1);
Console.WriteLine(query.ToString());

2voto

kirsten g Points 959

Utilisez-vous SQL Server ? Si oui, essayez d'utiliser le profileur. Tools->SQL Server Profiler dans la version de développement de Management Studio.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X