O LINQ (Language Integrated Query) não vai acabar…

25 de abril de 2009 Por portal

Com o .NET Framework 3.5 (Visual Studio 2008) a Microsoft lançou o LINQ (Language Integrated Query) . Uma linguagem integrada de consulta que permite consultar coleções de objetos de uma forma dinâmica e simples.

.NET Framework 3.5 / LINQ

Atualmente tenho uso o LINQ para consultar todas as minhas coleções com sucesso. Nós podemos usar o mesmo LINQ para acessar objetos do IIS e agora até do Twitter.

Em paralelo a Microsoft iniciou um outra estratégia para criar um modelo de mapeamento
objeto relacional para que possamos ter em nossas aplicações uma total abstração do banco de dados permitindo ao desenvolver usar o banco de dados como objetos sem conhecer o mesmo.
Em um primeiro momento a Microsoft chamou esse modelo de “LINQ to SQL” fazendo referência ao modelo de mapeamento para SQLServer.

Com o lançamento do Visual Studio 2008 SP1 então a Microsoft lançou o modelo “Entity Framework” que traz um mapeamento mais completo e com capacidade de suportar qualquer banco de dados que tenha um provider implementado.

Em cima desses nomes que iniciou uma grande discussão na comunidade sobre o fim do  “LINQ” uma vez que o “Entity Framework” já estava disponível e suportava o SQLServer.
O primeiro erro seu deu já na escolha do nome “LINQ to SQL” para o mapeamento O/R do SQLServer que em função dessa nova concorrência com o Entity levou a comunidade a comentar que o LINQ iria acabar.

Em resumo
Na verdade a discussão era se o “LINQ to SQL” iria mesmo acabar e não o “LINQ” que não tem na a ver nessa história. Após muitas idas e vindas a Microsoft através do time de produto do ADO.NET comentou em seu blog que ambos os modelos iriam continuar convivendo até por que o “LINQ to SQL” oferece um caminho muito simples para se acessar o banco de dados.

O importante é você ter em mente que o LINQ nunca entrou em questão nessa discussão toda e sim a concorrência entre os dois modelos de mapeamento.

Qual o caminho ?
Você cria um mapemaento usando o “LINQ to SQL” ou “Entity Framework” e vai ter o seu banco de dados mapeado para um digrama de classes. Depois vai utilizar o LINQ para consultar esses objetos sem se preoculpar com o banco de dados.

LINQ to SQL e ADO.NET Entity Framework

Para o futuro!
Com o Visual Studio 2010 e .NET Framework 4.0 certamente já teremos uma nova versão do ADO.NET Entity Framework com mais recursos para que o mesmo caminhe cada vez mais no rumo do mapeamento objeto relacional. Eu costumo dizer sempre uma frase em todas as minhas palestras “Não tem que ser difícil”.

[],
Ramon Durães
MVP, Especialista em Visual Studio Team System
Ramon usa o LINQ em todos os projetos