Partage via


Procédure : Afficher le code SQL généré

Vous pouvez consulter le code SQL généré pour les requêtes et modifier le traitement à l'aide de la propriété Log. Cette approche peut être utile pour comprendre les fonctionnalités de LINQ to SQL et pour déboguer des problèmes spécifiques.

Exemple

L'exemple suivant utilise la propriété Log pour afficher le code SQL dans la fenêtre de console avant que son exécution. Vous pouvez utiliser cette propriété avec les commandes de requête, d'insertion, de mise à jour et de suppression.

Les lignes de la fenêtre de console sont ce que vous voyez quand vous exécutez le code Visual Basic ou C# qui suit.

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;
IQueryable<Customer> custQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

foreach(Customer custObj in custQuery)
{
    Console.WriteLine(custObj.CustomerID);
}
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

Voir aussi