DataContext.GetCommand(IQueryable) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan informasi tentang perintah SQL yang dihasilkan oleh LINQ ke 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
Parameter
- query
- IQueryable
Kueri yang informasi perintah SQL-nya akan diambil.
Mengembalikan
Objek informasi perintah yang diminta.
Contoh
// 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()
Keterangan
Metode ini hanya getter dan tidak memengaruhi DataContext status.
Perhatikan pertimbangan berikut:
Argumen harus non-null. Jika tidak, pengecualian argumen null akan dilemparkan.
Pengecualian terjemahan kueri normal yang dilemparkan selama LINQ ke eksekusi kueri SQL berlaku untuk kueri yang tidak dapat diterjemahkan.
Hanya perintah kueri pertama yang dikembalikan. Secara khusus, perintah tambahan yang digunakan untuk pemuatan bersemangat (LoadWith) tidak disertakan.
DataContext tidak melacak apa yang dilakukan pengguna dengan perintah . Misalnya, hasil dari eksekusi perintah yang dikembalikan tidak dilacak dan tidak memengaruhi DataContext status.