2011-05-31 23 views
18

Solo estoy tratando de obtener el sql generado por una consulta linq.cómo ver SQL generado desde una consulta de linq

+2

¿Está utilizando Linq2Sql o Entity Framework? –

+0

Estoy usando Entity Framework. ¿Hay alguna manera de que pueda entender qué comando SQL se ejecuta para una consulta LINQ en particular? – John

+0

@DanielHilgarth, I Linq2Sql. Pero una solución con EF y Linq2Sql, estoy seguro sería maravilloso. – RayLoveless

Respuesta

4

Use SQL Profiler si está utilizando SQL Server como su base de datos.

2
15

Hay 3 formas de hacerlo.

1.You puede utilizar de LINQPad.It gratuito http://www.linqpad.net/

2.You puede utilizar SQL Server SQL Server dentro de los (Herramientas -> Analizador de SQL Server)

3.You puede utilizar Visual Studio depurador para Generar T-SQL. (con cualquier versión de visual Studio)

he escrito una entrada de blog sobre este cheque How to Convert Linq Entity Query into T-SQL ?

+4

Observe la diferencia entre su respuesta y la que tiene 7 votos y fue aceptada? ** Ese incluye una respuesta del código **, y ningún enlace a su propio sitio web. –

0

La forma más sencilla que podría sugerir es ir con DatabaseLog. Ponga Log después de inicializar DataContext y podrá hacer un seguimiento de lo que EF realice en la ventana visual studio output.

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