domingo, 8 de agosto de 2010

Mini-Curso C# - Parte #13 - LINQ

O que é o LINQ?

É um conjunto de recursos introduzidos no .NET Framework 3.5 que permitem a realização de consultas diretamente em base de dados , documentos XML , estrutura de dados , coleção de objetos ,etc. Usando uma sintaxe parecida com a linguagem SQL.

Existem cinco formas nas quais poderemos utilizar o LINQ.
  • LINQ to SQL
  • LINQ to XML
  • LINQ to Objects
  • LINQ to DataSet
  • LINQ to Entities

Arquitetura do LINQ


http://msdn.microsoft.com/en-us/netframework/aa904594.aspx


LINQ significa Language Integrated Query, ou seja, linguagem de consulta integrada que podemos utilizar para manipular qualquer tipo de coleção, arrays, dados, objetos e demais itens. O LINQ dispõe de todos os recursos integrados ao Visual Studio 2008 e no VS 2010, tanto nos templates quanto em nível de linguagem.

Neste artigo, estaremos tratando do LINQ to SQL

LINQ to SQL é uma implementação específica to LINQ para o SQL Server que converte consultas escritas em C# ou Visual Basic em SQL dinâmico , provendo uma interface que permite mapear os objetos do banco de dados gerando as classes para realizar as operações usando a sintaxe LINQ; também permite realizar alterações nos objetos e atualizar o banco de dados.


E por que não posso usar o LINQ com outros providers como Oracle, FireBird, DB2 etc.? A resposta é que temos Entity Framework o qual poderá trabalhar o LINQ com qualquer provider que o mercado criar, independente do banco de dados. Isto cabe aos fabricantes providenciarem.


Como eu uso LINQ no meu código ?

1- Você deve usar o Visual Studio 2008 ou 2010 (.NET Framework 3.5 ou superior)
2- Incluir a seguinte declaração no topo da sua classe: using System.Data.Linq 
3- Referenciar o LINQ no seu projeto através do template - LINQ To SQL classes

O que eu ganho usando LINQ ?

Você pode programar o código de acesso a dados diretamente no Visual Basic ou C#;
Verificação de sintaxe e de esquema em tempo de compilação;
Suporte a ferramentas para criar consultas (IntelliSense);
Você não tem que esperar até executar para saber se a consulta esta correta, verificação em tempo de compilação;

No próximo artigo, um exemplo prático de utilização de LINQ to Object e LINQ to SQL.
Até a proxima.

Take care

Nenhum comentário: