Consultas LINQ to SQL

As consultas LINQ to SQL são definidas usando a mesma sintaxe utilizada no LINQ. A única diferença é que os objetos referenciados nas consultas são mapeados para os elementos em uma base de dados. Para obter mais informações, consulte Introdução a Consultas de LINQ (C#).

O LINQ to SQL converte as consultas que você escreve em consultas SQL equivalentes e as envia ao servidor para processamento. Mais especificamente, o aplicativo usa a API do 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 ao provedor ADO. O provedor ADO retorna os resultados da consulta como um DataReader. O provedor LINQ to SQL converte os resultados do ADO em uma coleção IQueryable de objetos de usuário.

Observação

A maioria dos métodos e operadores nos tipos internos do .NET Framework têm conversões diretas para SQL. Aqueles que o LINQ não puder converter gerarão exceções em runtime. Para obter mais informações, consulte Mapeamento de tipo SQL-CLR.

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

Item Consulta LINQ Consulta LINQ to SQL
Tipo de retorno da variável local que contém a consulta (para consultas que as sequências de retorno) IEnumerablegenérico IQueryablegenérico
Especificando a fonte de dados Usa a cláusula From (Visual Basic) ou from (C#) Idêntico
Filtragem Use a cláusula Where/where Idêntico
Agrupamento Use a cláusula Group…By/groupby Idêntico
Selecione (se projetar) Use a cláusula Select/select Idêntico
Execução adiada versus imediata Consulte Introdução a consultas LINQ (C#) Idêntico
Implementar join Use a cláusula Join/join É possível usar a cláusula Join/join, mas usa mais efetivamente o atributoAssociationAttribute. Para obter mais informações, consulte Consultar entre relações.
Editando contra a execução local Para obter mais informações, consulte Execução remota versus local.
Passar contra consulte armazenado em cachê Não aplicável em um cenário de memória local

Confira também