2011-04-08 10 views

Respuesta

9

Tú puede:

  1. Utilice la propiedad de registro del contexto para redirigir la consulta generada a la ventana de salida de Visual Studio. link
  2. O utilice el visualizador de depuración LINQ to SQL. link
+0

redirigir el registro de salida de Visual Studio fue el camino más fácil. Pulgares arriba – dcarneiro

+1

Para el beneficio de futuros googlers. No pude encontrar nada relevante para la pregunta en el primer enlace. El contenido debe haber cambiado desde que se publicó esta respuesta. Básicamente agrega 'db.Log = Console.Out;' donde db es su objeto de contexto de base de datos. [ver fuente en msdn] (http://msdn.microsoft.com/en-us/library/bb386961.aspx) –

2

Uso LinqPad:

O, alternativamente, obtener perfiles de servidor utilizar SQL para ver la consulta. Sin embargo, sé que antes podías sobre la variable de consulta en depuración y te mostraba la consulta que iba a ejecutar, pero no estoy del todo seguro si eso todavía funciona (Definitivamente no en aplicaciones del lado del cliente)

0

Gracias jfs, pero el enlace en su opción # 1 ya no es bueno. No muestra ningún artículo relevante. El enlace de Chris B con el artículo de MSDN me ayudó.

Aquí está mi solución, ya que la mía no es una aplicación de consola:

TextWriter tw = new StringWriter(); 
db.Log = tw; 
IQueryable<Customer> custQuery = 
    from cust in db.Customers 
    where cust.City == "London" 
    select cust; 

string output = tw.ToString(); 
// output variable has the generate SQL now 
Cuestiones relacionadas