Consulta integrada de linguagem (linq)

Definição - o que significa o LINQ (Language Integrated Query)?

Consulta integrada de linguagem (LINQ) é um modelo de programação de estrutura do Microsoft .NET, que adiciona recursos de consulta às linguagens de programação .NET. Essas extensões fornecem sintaxe mais curta e expressiva para manipular dados. Vários recursos foram adicionados ao C # e ao Visual Basic para oferecer suporte ao LINQ. Ele envolve consultas poderosas em objetos, arquivos XML e bancos de dados.

LINQ encapsula genéricos pesados. Os recursos distintivos incluem métodos de extensão, expressões lambda, um inicializador de objeto, sintaxe de consulta e tipos anônimos. Estas são extensões de linguagem para aprimorar o desempenho sintático para consultas.

Definirtec explica o Language Integrated Query (LINQ)

Os métodos de extensão estendem os valores existentes sem derivar nenhum novo tipo. Expressões lambda criam árvores de expressão e delegados, enquanto o inicializador de objeto produz sintaxe de inicialização de objeto que gera um código equivalente.

Uma linguagem é livre para usar sua própria sintaxe de consulta, que precisa ser traduzida em chamadas de método LINQ. Os tipos anônimos permitem que o compilador compile classes, que contêm declarações de membros de dados.

LINQ oferece suporte a vários provedores LINQ, da seguinte maneira:

  • LINQ to XML: converte documentos XML em um grupo de objetos XElement. Esses objetos são então consultados pelo mecanismo de execução local, que faz parte do operador de consulta padrão.
  • LINQ to SQL: permite que LINQ seja usado para consultar bancos de dados do servidor SQL. Como os dados do servidor SQL residem em um banco de dados remoto e usam seu próprio mecanismo de consulta, esse provedor primeiro converte uma consulta LINQ em consulta SQL e a envia ao servidor SQL para processamento.
  • LINQ to DataSets: permite suporte para qualquer banco de dados genérico. Este provedor usa ADO.net, que lida com a comunicação com o banco de dados.
  • LINQ to Objects: usa o mecanismo de execução de consulta local para coleções na memória. O código gerado faz referência à implementação dos operadores de consulta padrão.