Cómo: Mostrar código SQL generado (LINQ to SQL)
Actualización: November 2007
Puede ver el código de SQL generado para las consultas y cambiar su procesamiento por medio de la propiedad Log. Este enfoque puede ser útil para entender la funcionalidad de LINQ to SQL y para depurar problemas concretos.
Ejemplo
En el ejemplo siguiente se utiliza la propiedad Log para mostrar el código de SQL en la ventana de la consola antes de que se ejecute el código. Puede utilizar esta propiedad con comandos de consulta, inserción, actualización y eliminación.
Las líneas de la ventana de la consola son las que aparecerían al ejecutar el código de Visual Basic o C# siguiente.
SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactT
itle], [t0].[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Coun
try], [t0].[Phone], [t0].[Fax]
FROM [dbo].[Customers] AS [t0]
WHERE [t0].[City] = @p0
-- @p0: Input String (Size = 6; Prec = 0; Scale = 0) [London]
-- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.20810.0
AROUT
BSBEV
CONSH
EASTC
NORTS
SEVES
db.Log = Console.Out
Dim custQuery = _
From cust In db.Customers _
Where cust.City = "London" _
Select cust
For Each custObj In custQuery
Console.WriteLine(custObj.CustomerID)
Next
db.Log = Console.Out;
IQueryable<Customer> custQuery =
from cust in db.Customers
where cust.City == "London"
select cust;
foreach(Customer custObj in custQuery)
{
Console.WriteLine(custObj.CustomerID);
}