Compartilhar via


Consultas LINQ to SQL

Você define consultas LINQ to SQL usando a mesma sintaxe que faria no LINQ. A única diferença é que os objetos referenciados em suas consultas são mapeados para elementos em um banco de dados. Para obter mais informações, consulte Introdução às consultas LINQ (C#).

LINQ to SQL converte as consultas que você grava em consultas SQL equivalentes e as envia para o servidor para processamento. Mais especificamente, seu aplicativo usa a API LINQ to SQL para solicitar a execução da consulta. O provedor LINQ to SQL transforma a consulta em texto SQL e delega a execução para o provedor do ADO. O provedor do ADO retorna os resultados da consulta como um DataReader. O provedor LINQ to SQL converte os resultados do ADO em uma IQueryable coleção de objetos de usuário.

Observação

A maioria dos métodos e operadores em tipos internos do .NET Framework tem traduções diretas para o SQL. Aqueles que o LINQ não pode traduzir geram exceções em tempo de execução. Para obter mais informações, consulte SQL-CLR Mapeamento de Tipo.

A tabela a seguir mostra as semelhanças e diferenças entre os itens de consulta LINQ e LINQ to SQL.

Elemento Consulta LINQ Consulta LINQ to SQL
Tipo de retorno da variável local que contém a consulta (para consultas que retornam sequências) IEnumerablegenérico IQueryablegenérico
Especificando a fonte de dados Usa a From cláusula (Visual Basic) ou from (C#) Idêntico
Filtragem Usa a Where/where cláusula Idêntico
Agrupamento Usa a Group…By/groupby cláusula Idêntico
Selecione (se projetar) Usa a Select/select cláusula Idêntico
Execução adiada versus imediata Confira a introdução às consultas LINQ (C#) Idêntico
Implementar join Usa a Join/join cláusula Pode usar a Join/join cláusula, mas usa o AssociationAttribute atributo com mais eficiência. Para obter mais informações, consulte Consultar entre relações.
Execução remota versus local Para obter mais informações, consulte Remote vs. Local Execution.
Streaming versus consulta em cache Não aplicável em um cenário de memória local

Consulte também