He estado desarrollando una página ASP.NET y he estado utilizando LINQ para manejar hablar con el servidor MS SQL. Estoy bien en SQL básico, sin embargo, estoy mucho mejor con el diseño de consultas utilizando LINQ. Sé que son similares, pero me resulta más fácil diseñar consultas complejas en LINQ. Mi pregunta es esta: ¿hay alguna manera de diseñar una consulta en LINQ y luego obtener el SQL que generó? Me gustaría insertar el SQL en un procedimiento almacenado ya que varias páginas (fuera de mi control) necesitarán hacer la misma consulta.¿Hay alguna manera de obtener el SQL creado por una consulta LINQ?
Respuesta
Sí. El contexto de la base de datos LINQ tiene una propiedad Log que genera el SQL que ejecutó. También puede hacerlo a través de un producto gratuito llamado LinqPad y un producto comercial llamado Linqer.
También puede usar DataContext.GetCommand (consulta). – itowlson
Se puede conseguir 2 maneras:
- Uso LINQPad
uso ToString() en la consulta para obtener su forma de SQL:
var query = de x en alguna_tabla donde x .SomeField == 5 select x.SomeOtherField; Console.WriteLine (query.ToString());
Si desea obtener más información en profundidad a continuación, puede utilizar Linq to Sql Profiler que mostrará todas las consultas, así como alerts
Al escribir las declaraciones de LINQ que se ejecutan en SQL Server, siempre globo ocular en Analizador de SQL Server. La interpretación que se ejecuta dentro de SQL a menudo te sorprenderá.
En las herramientas de rendimiento/SQL Server Profiler, inicie un nuevo seguimiento.
ejecutar su consulta en su aplicación, agarrar la salida de perfiles pegar en el Analizador de consultas SQL Server
- 1. LINQ to SQL: Eliminar entidad (por ID) con una consulta
- 2. ¿Hay alguna manera de recuperar elementos utilizando solo nombres locales en una consulta Linq-to-XML?
- 3. obtener SQL generado a partir de una consulta linq compilada
- 4. ¿Hay alguna manera de obtener una lista de cursores abiertos/asignados en el servidor SQL?
- 5. ¿Hay alguna manera de obtener PartionKeys distintas de una Tabla
- 6. String.Split en una consulta Linq-To SQL?
- 7. ¿Por qué esta consulta LINQ-to-SQL obtiene una NotSupportedException?
- 8. ¿Hay alguna manera fácil de obtener programáticamente el alfabeto?
- 9. ¿Hay alguna manera de utilizar Distinct en la sintaxis de consulta LINQ?
- 10. ¿Hay alguna manera de obtener trazas de pila .net en Sql Profiler, o una herramienta similar?
- 11. ¿Hay alguna manera de obtener el objeto predeterminado de $ .ajax?
- 12. ¿Hay alguna forma de serializar el objeto linq para Memcached?
- 13. Optimización una consulta LINQ to SQL
- 14. Linq to SQL - ¿hay alguna manera de asignar un método de extensión a una Función SQL/Procedimiento almacenado?
- 15. ¿Hay alguna manera simple de formatear decimales en T-SQL?
- 16. Subconsultas de SQL: ¿hay una manera mejor?
- 17. consulta recursiva de linq a sql
- 18. Convertir consulta SQL a LINQ
- 19. cómo ver SQL generado desde una consulta de linq
- 20. ¿Hay una mejor manera de depurar SQL?
- 21. ¿Hay alguna manera de obtener el tamaño de conteo para una consulta con nombre JPA con un conjunto de resultados?
- 22. ¿Hay alguna manera de "limpiar" una superficie?
- 23. ¿Hay alguna manera de dividir los resultados de una consulta de selección en dos partes iguales?
- 24. ¿Hay alguna forma de invertir una consulta ActiveRecord :: Relation?
- 25. ¿Hay alguna manera de forzar el método Take linq para obtener menos que contar si no hay suficientes elementos?
- 26. ¿Hay alguna manera de DISTINCT o agrupar por un texto (o ntext) en SQL Server 2005?
- 27. ¿Hay alguna manera de desactivar una etiqueta?
- 28. ¿Hay alguna manera de obtener datos ortográficos de un NSString?
- 29. Cómo interceptar y modificar consulta SQL en Linq a SQL
- 30. ¿Hay alguna manera de obtener todas las variables en Ruby?
LINQ to SQL? LINQ a las entidades? LINQ a algo más? (Todos estos, por cierto, ya han sido respondidos repetidamente en este sitio, puede intentar una búsqueda.) –