quarta-feira, 4 de julho de 2012

Série LINQ 01 - Introdução


O que é LINQ?
Surgiu no evento Microsoft Professional Developers Conferece(PDC) em 2005, pela equipe liderada por, Anders Hejlberg. Apresentaram uma nova abordagem que unifica a forma como os dados podem ser recuperados em .NET, assim surgiu Language Integrated Query(LINQ). Linq fornece uma maneira uniforme para recuperar dados de qualquer objeto que implementa a interface IEnumerable. Com o LINQ, podemos usa as seguintes fontes de dados: arrays, coleções de dados relacionais e XML.
Por que o LINQ?
Com o LINQ, você pode usar a mesma sintaxe para recuperar dados de qualquer fonte de dados. Exemplo:


var query = from e in funcionários
            where e.codigo == 1
select e.nome



              A sintaxe do LINQ é muito semelhante ao SQL. O Objetivo do LINQ não foi adicionar outra maneira de acessar os dados, mas para fornecer um conjunto nativo integrado de instruções para consultar qualquer tipo de fonte de dados. Usando a linguagem C#, podemos escrever o código de acesso de dado e o compilador será capaz de impor segurança de tipo e até mesmo consistência lógica. LINQ fornece um rico conjunto de instruções para implementar consultas complexas suportando agregação, joins(unir tabelas), sortings(classificação) e muito mais.


A seguir, as principais partes do LINQ, que você pode trabalhar.

LINQ to Objects: é uma API que fornece métodos que representam um conjunto de operadores padrão de consulta (SQOs) para recuperar dados de qualquer objeto cuja classe implementar a interface IEnumerable. Essas consultas são executadas em memória de dados.

LINQ to ADO.NET: aumenta SQOs para trabalhar com os dados relacionais. (É composto por três partes (Ver figura 1)).

LINQ to SQL: (antigamente DLinq) é usado para consultar bancos de dados relacionais como o Microsoft SQL Server.  Para tirar proveito do LINQ to SQL você deve a seguinte referência;

System.Data.Linq;

LINQ to DataSet: suporta consultas usando os conjuntos de dados ADO.NET e tabelas de dados.

LINQ to Entities: é uma solução Microsoft ORM, que permite aos desenvolvedores usa entidades (uma característica ADO.NET 3.0) para especifica a estrutura de objetos de negócios e usar o LINQ para consultá-los

LINQ to XML: (antigamente XLinq) SQOs não só amplia, mas também inclui uma série de XML recursos específicos para a criação de documentos XML e consultas. Use a referencia a seguir:
System.Xml.Linq




Nesta serie de artigos estaremos aprendendo sobre LINQ to SQL.