Clique aqui para ler esse artigo em PDF.
Clique aqui para ler todos os artigos desta edição
.NET 3.0
LINQ - A revolução do .NET 3.0
Este artigo discute |
Este artigo usa as seguintes tecnologias |
·O que é LINQ; ·Query Expressions; ·LINQ com objetos; ·Lambda, tipos anônimos, inicialização de coleções; ·LINQ com banco de dados. |
LINQ, C# 3.0. |
A plataforma .NET passou por uma grande evolução, por exemplo na versão 2.0 tivemos o conceito de Generics, como mais uma alternativa muito interessante diga-se de passagem, para trabalhar com mais flexibilidade na criação e na manipulação de objetos e coleções genéricas.
Então para os que achavam que não havia mais o que ser implementado no Framework, ao menos em um curto período de tempo, estou aqui pra dizer que para nossa felicidade, a versão 3.0 veio com muitos outros recursos tão interessantes quanto o Generics:
·Inferência do tipo de variáveis locais;
·Tipos anônimos;
·Expressões Lambda;
·Métodos de extensão;
·Propriedades automáticas;
·Expressions Trees;
·LINQ (Language Integrated Query);
·Inicialização de objetos e coleções.
Apesar de tantos recursos novos e interessantes, este artigo vai focar principalmente na linguagem LINQ, que particularmente considero uma das mais interessantes inovações criadas para a plataforma .NET, assim como outros conceitos que são necessários para o seu entendimento.
O que é LINQ?
A linguagem LINQ é basicamente uma forma de unificar querys de consultas a bancos de dados, a documentos XML e consultas a coleções utilizando uma sintaxe única e muito flexível.
Isso com certeza facilita muito o dia a dia do desenvolvedor, pois não é difícil encontrar pessoas que já tiveram problemas para manipular, por exemplo, um documento XML no qual alguns nodes específicos deveriam ser capturados, por não conhecerem a XPATH. O mesmo acontece com as consultas ao banco de dados e a coleções de objetos, devido não haver uma sintaxe padrão que possibilite um resultado idêntico em situações bem distintas, como nos casos mencionados.
Quando se fala da linguagem LINQ, podemos subdividi-la em três módulos, sendo:
·DLinq: Permite que sejam feitas consultas em banco de dados (ADO.NET);
·XLinq: Permite que sejam feitas consultas em XML (System.XML);
·Standard Query Operators: Permite que sejam feitas consultas a objetos.
Esse recurso até o momento só está disponível nas linguagens C# e VB e na versão CTP do Visual Studio (Orcas) lançada em março desse ano e que pode ser baixada em: www.microsoft.com/downloads/details.aspx?FamilyId=CF76FCBA-07AF-47AC-8822-4AD346210670&displaylang=en#Instructions.
A Figura 1 mostra a estrutura da LINQ.
Figura 1. Estrutura da Language Integrated Query (LINQ)
Sintaxe da LINQ
A sintaxe das query expressions (nome dado às querys LINQ) é muito similar às querys SQL e XSQL, como podemos ver na Listagem 1." [...] continue lendo...