DataContext.GetCommand(IQueryable) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.