Как отобразить сгенерированный SQL (LINQ to SQL)
Вы можете просмотреть код SQL с помощью свойства Log.
Пример: используйте свойство Log для отображения кода SQL в окне консоли перед его выполнением.
Вы можете использовать это свойство с командами запроса, вставки, обновления и удаления.
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);
}
Эти строки из окна консоли - это то, что вы видите, когда выполняете код C # выше.
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
Альтернативно, вы можете использовать LINQ to SQL Debug Visualizer , чтобы навести курсор на выражение LINQ в отладчике VS 2008, а затем проверить необработанный SQL, который будет выполнять ORM во время выполнения при оценке выражения запроса LINQ.