DataContext.GetCommand(IQueryable) Methode

Definitie

Haalt de informatie op over SQL-opdrachten die door LINQ zijn gegenereerd naar 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

Parameters

query
IQueryable

De query waarvan de SQL-opdrachtgegevens moeten worden opgehaald.

Retouren

Het aangevraagde opdrachtinformatieobject.

Voorbeelden

// 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()

Opmerkingen

Deze methode is alleen een getter en heeft geen invloed op DataContext de status.

Let op de volgende overwegingen:

  • Het argument moet niet null zijn. Anders wordt er een uitzondering met null-argumenten gegenereerd.

  • Normale uitzonderingen bij het vertalen van query's tijdens LINQ naar SQL-queryuitvoering zijn van toepassing op een query die niet kan worden vertaald.

  • Alleen de eerste queryopdracht wordt geretourneerd. Met name aanvullende opdrachten die worden gebruikt voor gretig laden (LoadWith) zijn niet opgenomen.

  • DataContext houdt niet bij wat de gebruiker doet met de opdracht. Resultaten van de uitvoering van de geretourneerde opdracht worden bijvoorbeeld niet bijgehouden en hebben geen invloed op DataContext de status.

Van toepassing op