2011-01-15 11 views
27

Come posso ottenere lo script sql generato da una query di struttura dell'entità? cioè Se scrivoCome ottenere il sql generato dal framework dell'entità

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

allora come posso ottenere il codice SQL che dovrebbe essere un po 'come questo:

select * from table1 where primarykey = 1 

Grazie in anticipo :)

+12

'var trace = ((ObjectQuery ) query) .ToTraceString()' – RPM1984

+1

mi piacerebbe aggiungere @ RPM1984 commentare che per utilizzare questo contro un tipo anonimo usereste 'ObjectQuery' invece di' ObjectQuery '. –

+0

Vedere i duplicati: [Come visualizzare l'SQL generato dal framework entità?] (Http://stackoverflow.com/questions/1412863/how-do-i-view-the-sql-generated-by-the- entity-framework) [Tracciamento SQL da LINQ a entità] (http://stackoverflow.com/questions/137712/sql-tracing-linq-to-entities) – Kip

risposta

4

Quando si sta andando contro SQL Server come il tuo database di backend, SQL Server Profiler è sempre lo strumento migliore per vedere esattamente quali istruzioni SQL vengono inviate al tuo database per essere elaborate.

Vedere Introducting SQL Server Profiler per informazioni di base.

0

Oltre a utilizzare SQL Server Profiler, è possibile provare Entity Framework Profiler, che fa questo e altro.

È pagato, con una prova di 30 giorni.

+0

L'ho usato prima, è uno strumento molto valido. L'unico problema è che è pagato :( – gaurav

Problemi correlati