DataContext.GetCommand(IQueryable) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá informace o příkazech SQL vygenerovaných 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
Parametry
- query
- IQueryable
Dotaz, jehož informace o příkazu SQL se mají načíst.
Návraty
Požadovaný objekt informací o příkazu.
Příklady
// 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()
Poznámky
Tato metoda je pouze getter a nemá vliv na DataContext stav.
Všimněte si následujících aspektů:
Argument musí být nenulový. V opačném případě je vyvolán výjimka argumentu null.
Běžné výjimky překladu dotazů vyvolané během provádění dotazu LINQ to SQL platí pro dotaz, který nelze přeložit.
Vrátí se pouze první příkaz dotazu. Konkrétně nejsou zahrnuty další příkazy, které se používají k načítání dychtivosti (LoadWith).
DataContext nesleduje, co uživatel s příkazem dělá. Například výsledky spuštění vráceného příkazu nejsou sledovány a nemají vliv na DataContext stav.