Algoritmy a programování IV

Týden 11

Zobrazení kódu SQL

Pomocí vlastnosti můžete zobrazit kód SQL vygenerovaný pro dotazy a zpracování Log změn. Tento přístup může být užitečný pro pochopení LINQ to SQL funkcí a ladění specifických problémů.

Příklad

Následující příklad používá Log vlastnost k zobrazení kódu SQL v okně konzoly před spuštěním kódu. Tuto vlastnost můžete použít s příkazy dotazu, vložení, aktualizace a odstranění.

Řádky z okna konzoly jsou to, co vidíte při spuštění následujícího kódu jazyka Visual Basic nebo C#.

Konzola
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  
Konzola
AROUT  
BSBEV  
CONSH  
EASTC  
NORTS  
SEVES  

 custQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;foreach(Customer custObj in custQuery)
{
    Console.WriteLine(custObj.CustomerID);
}
" style="box-sizing: inherit; outline-color: inherit; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 1em; direction: ltr; border: 0px; padding: 0px; line-height: 1.3571; display: block; position: relative;">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);
}