Condividi tramite


DataContext.GetCommand(IQueryable) Metodo

Definizione

Ottiene le informazioni sui comandi SQL generati da LINQ to SQL.

public:
 System::Data::Common::DbCommand ^ GetCommand(System::Linq::IQueryable ^ query);
public System.Data.Common.DbCommand GetCommand (System.Linq.IQueryable query);
member this.GetCommand : System.Linq.IQueryable -> System.Data.Common.DbCommand
Public Function GetCommand (query As IQueryable) As DbCommand

Parametri

query
IQueryable

Query da cui devono essere recuperate le informazioni sul comando SQL.

Restituisce

Oggetto contenente le informazioni sul comando richieste.

Esempio

// 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();
' 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(Environment.NewLine & "Command Text: " & Environment.NewLine & dc.CommandText)
Console.WriteLine(Environment.NewLine & "Command Type: {0}", dc.CommandType)
Console.WriteLine(Environment.NewLine & "Connection: {0}", dc.Connection)

Console.ReadLine()

Commenti

Questo metodo è solo un getter e non influisce sullo DataContext stato.

Tenere presenti le seguenti considerazioni:

  • L'argomento deve essere diverso da Null. In caso contrario, viene generata un'eccezione di argomento Null.

  • Le normali eccezioni di conversione delle query generate durante LINQ to SQL'esecuzione di query si applicano a una query che non può essere tradotta.

  • Viene restituito solo il primo comando di query. In particolare, i comandi aggiuntivi usati per il caricamento eager (LoadWith) non sono inclusi.

  • DataContext non tiene traccia delle operazioni che l'utente esegue con il comando . Ad esempio, i risultati dell'esecuzione del comando restituito non vengono rilevati e non influiscono sullo DataContext stato.

Si applica a