2011-01-15 12 views
27

¿Cómo puedo obtener el script sql generado por una consulta de entidad de marco? Es decir Si escriboCómo obtener el sql generado por el marco de entidad

entityDataDontext.table1.Where(r => r.primarykey == 1).First(); 

entonces, ¿cómo puedo obtener el código SQL que debería ser algo como esto:

select * from table1 where primarykey = 1 

Gracias de antemano :)

+12

'traza var = ((ObjectQuery ) consulta) .ToTraceString()' – RPM1984

+1

me gustaría añadir a @ RPM1984 comentar que para usar esto en contra de un tipo anónimo usted usaría 'ObjectQuery' en lugar de' ObjectQuery '. –

+0

Consulte los duplicados: [¿Cómo veo el SQL generado por el marco de entidad?] (Http://stackoverflow.com/questions/1412863/how-do-i-view-the-sql-generated-by-the- entidad-framework) [SQL tracing LINQ to Entities] (http://stackoverflow.com/questions/137712/sql-tracing-linq-to-entities) – Kip

Respuesta

4

Cuando vas en SQL Server como su base de datos backend, SQL Server Profiler es siempre la mejor herramienta para ver exactamente qué declaraciones SQL se envían a su base de datos para ser procesadas.

Ver Introducting SQL Server Profiler para obtener información de antecedentes.

0

Además de utilizar el Analizador de SQL Server, puede probar Entity Framework Profiler, que hace eso y más.

Se paga, con una versión de prueba de 30 días.

+0

Lo he usado antes, es una muy buena herramienta. El único problema es que se paga :( – gaurav

Cuestiones relacionadas