Language Integrated QueryLanguage Integrated Query (LINQ) é um componente do Microsoft .NET que adiciona funcionalidades de consulta em algumas linguagens de programação .NET. O LINQ corresponde a uma sintaxe unificada, inicialmente incorporada às linguagens C# e Visual Basic, para consultas em fontes de dados variadas. A linguagem foi introduzida inicialmente nas linguagens Visual Basic 9.0 (Visual Basic 2008) e C# 3.0 (Visual C# 2008), em 19 de novembro de 2007 com o .NET Framework 3.5 e o Visual Studio 2008. A sintaxe de consulta da LINQ foi inspirada na da Structured Query Language (SQL), que é uma linguagem padrão para comunicação com bancos de dados relacionais. Assim como na linguagem SQL, as expressões de consulta LINQ permitem a construção de instruções variadas para extração de informações. Ele define um conjunto de métodos chamados operadores de consulta, expressões lambda e tipos anônimos. Com o conjunto, pode se por exemplo projetar ou filtrar informação em vetores, coleções de objetos do tipo IEnumerable<T> (LINQ to Objects), manipulação de XML em memória (LINQ to XML), infraestrutura para gerenciar dados relacionais como objetos, este componente permite fazer mapeamento objeto-relacional em um modelo de dados de um banco de dados relacional (atualmente só existe Provider para SQL Server) (LINQ to SQL), consulta de objetos do tipo Conjunto de dados na memória (LINQ to DataSet) entre outros. Outros usos mais especializados incluem processadores de eventos[1] ou analisadores sintáticos.[2] Diversos dos conceitos introduzidos pelo LINQ foram originalmente testados no projeto Cω. Arquitetura no .NET 3.5OperadoresOs operadores suportados pela API estipulada são:[3]
Faz uma projeção na coleção de dados para selecionar regiões relevantes entre os elementos.
Define regras de filtragem na coleção de dados que são avaliadas para cada item.
Mapeamento estipulado pelo programador de uma coleção de dados para coleções.
Encontra a soma, o menor elemento, o maior elemento ou a média dos itens da coleção de dados, respectivamente.
Uma versão generalizada de
Faz a junção de duas coleções de dados, baseado em chaves de comum valor semântico em cada coleção.
O primeiro seleciona os primeiros n ojectos da coleção, enquanto o segundo toma um predicado que seleciona os objectos que casam com o predicado.
Complementos dos anteriores, eles ignoram os primeiros n objetos da coleção, ou enquanto há casamento com o predicado.
Seleciona objetos de determinado tipo.
Concatena duas coleções.
O primeiro determina o critério de ordenação da coleção de dados, ascendente por padrão. O segundo especifica critérios subsequentes de ordenação.
Inverte a ordenação da coleção de dados.
Extrai uma chave e retorna uma coleção para cada chave.
Remove instâncias repetidas na coleção.
Provem união, interseção e complementar em duas sequências, respectivamente.
Verifica se todos os elementos de duas coleções são iguais.
Retorna o primeiro elemento, o primeiro ou o valor padrão, o último, o último ou valor padrão da coleção de dados, respectivamente.
Retorna o único elemento que casa um predicado dado. Havendo nenhum ou múltiplos casamentos, uma exceção é lançada.
Retorna o elemento em determinado índice na coleção de dados.
O primeiro verifica se algum elemento da coleção casa o predicado. O segundo verifica se todos os elementos da coleção casam o predicado. O terceiro verifica se a coleção contém determinado valor.
Conta a quantidade de elementos em uma coleção. Ainda são especificados alguns operadores de conversão da coleção em outro tipo:[3]
Referências
Ver tambémLigações externas
|
Portal di Ensiklopedia Dunia