DataContext.GetCommand(IQueryable) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar information om SQL-kommandon som genereras av LINQ till 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
Parametrar
- query
- IQueryable
Frågan vars SQL-kommandoinformation ska hämtas.
Returer
Det begärda kommandoinformationsobjektet.
Exempel
// 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()
Kommentarer
Den här metoden är bara en getter och påverkar DataContext inte tillståndet.
Observera följande överväganden:
Argumentet måste vara icke-null. Annars genereras ett null-argumentfel.
Vanliga undantag för frågeöversättning som utlöses under LINQ till SQL-frågekörning gäller för en fråga som inte kan översättas.
Endast det första frågekommandot returneras. Mer specifikt ingår inte ytterligare kommandon som används för ivrig inläsning (LoadWith).
DataContext spårar inte vad användaren gör med kommandot. Till exempel spåras inte resultat från körningen av det returnerade kommandot och påverkar DataContext inte tillståndet.