Język

Instrukcje: wyświetlanie poleceń LINQ to SQL

Important

Nie należy używać System.Data.SqlClient do tworzenia nowych rozwiązań. Użyj Microsoft.Data.SqlClient w przypadku nowego kodu dostępu do danych dla SQL Server. Te przykłady zachowują System.Data.SqlClient, ponieważ wymagany jest wbudowany dostawca LINQ to SQL platformy .NET Framework. Sama zmiana typu połączenia nie migruje LINQ to SQL.

Służy GetCommand do wyświetlania poleceń SQL i innych informacji.

Przykład

W poniższym przykładzie w oknie konsoli zostaną wyświetlone dane wyjściowe zapytania, a następnie wygenerowane polecenia SQL, typ poleceń i typ połączenia.

// Do not use System.Data.SqlClient for new development; use Microsoft.Data.SqlClient.
// LINQ to SQL's built-in provider requires System.Data.SqlClient.
// using System.Data.Common;
Northwnd db = new Northwnd(@"c:\northwnd.mdf");

var q =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

Console.WriteLine("Customers from London:");
foreach (var z in q)
{
    Console.WriteLine($"\t {z.ContactName}");
}

DbCommand dc = db.GetCommand(q);
Console.WriteLine($"\nCommand Text: \n{dc.CommandText}");
Console.WriteLine($"\nCommand Type: {dc.CommandType}");
Console.WriteLine($"\nConnection: {dc.Connection}");

Console.ReadLine();
' Do not use System.Data.SqlClient for new development; use Microsoft.Data.SqlClient.
' LINQ to SQL's built-in provider requires System.Data.SqlClient.
' Imports System.Data.Common

Dim db As New Northwnd("c:\northwnd.mdf")

Dim q = _
From cust In db.Customers _
Where cust.City = "London" _
Select cust

Console.WriteLine("Customers from London:")
For Each z As Customer In q
    Console.WriteLine(vbTab & z.ContactName)
Next

Dim dc As DbCommand = db.GetCommand(q)
Console.WriteLine(vbNewLine & "Command Text: " & vbNewLine & dc.CommandText)
Console.WriteLine(vbNewLine & "Command Type: {0}", dc.CommandType)
Console.WriteLine(vbNewLine & "Connection: {0}", dc.Connection)

Console.ReadLine()

Dane wyjściowe są wyświetlane w następujący sposób:

Customers from London:
    Thomas Hardy
    Victoria Ashworth
    Elizabeth Brown
    Ann Devon
    Simon Crowther
    Marie Bertrand
    Hari Kumar
    Dominique Perrier
Command Text:
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

Command Type: Text

Connection: System.Data.SqlClient.SqlConnection

Zobacz też

  • obsługa debugowania