Gewusst wie: Anzeigen von erzeugtem SQL (LINQ to SQL)

Aktualisiert: November 2007

Sie können den für Abfragen und Änderungsverarbeitung erzeugten SQL-Code mithilfe der Log-Eigenschaft anzeigen. Dieser Ansatz kann zum Verständnis der LINQ to SQL-Funktionalität und zum Debugging spezifischer Probleme beitragen.

Beispiel

Im folgenden Beispiel wird die Log-Eigenschaft verwendet, um SQL-Code im Konsolenfenster anzuzeigen, bevor der Code ausgeführt wird. Sie können diese Eigenschaft mit den Abfrage-, Einfüge-, Aktualisierungs- und Löschbefehlen verwenden.

Die Zeilen im Konsolenfenster entsprechen der Ausgabe bei der Ausführung des folgenden Visual Basic-Codes oder C#-Codes.

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);
}

Siehe auch

Weitere Ressourcen

Debuggingunterstützung (LINQ to SQL)