如何:显示生成的 SQL (LINQ to SQL)

您可以通过使用 Log 属性查看为查询生成的 SQL 代码和更改处理方式。此方法对了解 LINQ to SQL 功能和调试特定的问题可能很有用。

示例

下面的示例使用 Log 属性在 SQL 代码执行前在控制台窗口中显示此代码。您可以将此属性与查询、插入、更新和删除命令一起使用。

控制台窗口中显示的行就是您在执行后面的 Visual Basic 或 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
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);
}

请参见

其他资源

调试支持 (LINQ to SQL)