O que é LINQ? – Parte 1


O que é LINQ?

LINQ é um modelo de programação que permite a nós consultar e modificar dados independente da fonte de dados.É um conjunto de extensões que adicionam suporte nativo para consultas no .NET framework.Com suporte ao LINQ, ’queries’ tornaram-se ‘passageiros de primerira-classe no .NET framework.Possibilitando abstração de dados em diferentes dominios,LINQ  oferece uma maneira única de manusear dados.

Por que usar LINQ?

Hoje e sempre desenvolvedores são responsáveis por manusear dados em aplicações.Esses dados pertecem a diferentes dominios de dados e cada dominio vem com um único conjunto de regras para lidar EX:SQL é usado para bancos de dados relacionais,Xquery/DOM é usado pra manusear documentos XML e diferentes Application Programming Interface (APIs) são usados pra manusear arquivos de texto,objetos,gráficos,registros,diretórios ativos etc.Os desenvolvedores enfrentam o dilema de controlar diferentes dominios de dados com o mesmo propósito – o de manusear dados.Não seria bom ter um único conjunto de regras pra manusear  todas as nossas necessidades de dados.Aí é que entra o LINQ.LINQ oferece um modelo de programação unificado para manusear dados de diferentes fontes.Assim,podemos investir nossos esforços na camada de negócios  sem ter que ficar se preocupando com a sintaxe no manuseio dos dados.

LINQ  SINTAXE E FUNCIONAMENTO

Com LINQ,as noções de queries são agora conceitos do próprio .NET Framework.A sintaxe do LINQ  não  é só restrita a bancos de dados relacionais ao invés disso se aplica a uma ampla opção de dominio de dados.A seguir temos um exemplo de uma consulta em LINQ em um array de string:

string frutas = {“maca”,”banana”,”laranja”};

var query = from f in frutas where(f ==    “laranja” || f == “banana”) select foreach(var fruta in query)

{

ListBox1.Items.Add(fruta);
}

Vamos ver o que o código acima faz.Nós temos um array de strings e uma consulta do tipo SQL operando nesse array.A consulta retorna um subconjunto do array para um objeto do tipo var.O loop foreach passa pelos objetos e mostra o resultado.Simples não?

O ponto a se notar é que a mesma sintaxe acima pode ser aplicada a um banco de dados relacional,DataSets,Arquivos xml ou outro dominio de dados.Nossa interface para manusear os dados continua a mesma mas em outra ponta; nosso dominio de dados pode mudar dependendo de nossa necessidades.Essa habilidade de termos o mesmo conjunto de regras pra acessar dados entre diferente dominios é notável.Eu tenho certeza,que agora,você começou a perceber o poder do LINQ.

LINQ vem com diferentes tipos de providers para manusear diferentes dominios de dados.Não confunda a sintaxe do LINQ com diferentes providers.A sintaxe continua a mesma (com pequenas variações)entre diferentes providers.Mas as caracteristicas podem variar de um provider para outro ex:a mesma sintaxe LINQ vai servir tanto pra Node de um documento XML como uma linha de um Database.Cada provider é responsável por converter a expressão LINQ para uma forma compatível com a fonte de dados que está sendo utilizada.LINQ vem com os seguintes diferentes providers:

  • LINQ to Objects:Usado para  consultar coleções de objetos em memória
  • LINQ  to SQL:Usado para manusear dados do SQL SERVER e SQL SERVER COMPACT .
  • LINQ to Entities:Opera em entidade de objetos.
  • LINQ to DataSet:Pesquisa em datasets.
  • LINQ to XML:Manusear arquivos XML.

Em breve criarei a segunda parte,em futuros posts!

Anúncios

Um comentário sobre “O que é LINQ? – Parte 1

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s