Auf Englisch lesen

Freigeben über


DataContext.GetCommand(IQueryable) Methode

Definition

Ruft die Informationen zu SQL-Befehlen ab, die von LINQ to SQL generiert werden.

public System.Data.Common.DbCommand GetCommand (System.Linq.IQueryable query);

Parameter

query
IQueryable

Die Abfrage, für die SQL-Befehlsinformationen abgerufen werden sollen.

Gibt zurück

Das angeforderte Befehlsinformationsobjekt.

Beispiele

// 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 {0}",z.ContactName);
}

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

Console.ReadLine();

Hinweise

Diese Methode ist nur ein Getter und wirkt sich nicht auf den Zustand aus DataContext .

Beachten Sie die folgenden Überlegungen:

  • Das Argument muss ungleich NULL sein. Andernfalls wird eine Null-Argument-Ausnahme ausgelöst.

  • Normale Abfrageübersetzungsausnahmeausnahmen, die während LINQ to SQL Abfrageausführung ausgelöst werden, gelten für eine Abfrage, die nicht übersetzt werden kann.

  • Nur der erste Abfragebefehl wird zurückgegeben. Insbesondere sind zusätzliche Befehle, die zum eifrigen Laden (LoadWith) verwendet werden, nicht enthalten.

  • DataContext verfolgt nicht, was der Benutzer mit dem Befehl tut. Beispielsweise werden Ergebnisse aus der Ausführung des zurückgegebenen Befehls nicht nachverfolgt und wirken sich nicht auf den Zustand aus DataContext .

Gilt für:

Produkt Versionen
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1