DataContext.GetCommand(IQueryable) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém a informação sobre comandos SQL gerados pelo LINQ para 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
Parâmetros
- query
- IQueryable
A consulta cuja informação de comandos SQL deve ser recuperada.
Devoluções
O objeto de informação de comando solicitado.
Exemplos
// 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()
Observações
Este método é apenas um que recebe e não afeta DataContext o estado.
Observe as seguintes considerações:
O argumento deve ser não nulo. Caso contrário, é lançada uma exceção de argumento nulo.
Exceções normais de tradução de consultas lançadas durante a execução de consultas LINQ para SQL aplicam-se a uma consulta que não pode ser traduzida.
Apenas o primeiro comando de consulta é devolvido. Especificamente, comandos adicionais usados para carregamento rápido (LoadWith) não estão incluídos.
DataContext não acompanha o que o utilizador faz com o comando. Por exemplo, os resultados da execução do comando devolvido não são rastreados e não afetam DataContext o estado.