terça-feira, 11 de novembro de 2008

E o LINQ to SQL ??

A noticia do momento é o futuro do LINQ to SQL, ou a falta de futuro dele (rsrsrs). Dia 29 de outubro foi anunciado no Blog do time de desenvolvimento do ADO.NET, que a Microsoft reconhece que o LINQ to SQL e o Entity Framework são tecnologias compatíveis, e que vai dar maior atenção ao Entity Framework.

Leia na integra:

Esse é o anuncio oficial, mas muita gente já interpreta isso como o fim o LINQ to SQL. Eu ainda vou esperar para ver o que acontece. Mas pra você ter uma idéia do alvoroço, é só ler os comentários do post acima, ou alguns outros Blogs que geraram polemica em cima disso:


Desde quando surgiram os primeiros releases do Entity Framework, surgiu também uma dúvida sobre o futuro do LINQ to SQL. Afinal, porque a Microsoft iria manter duas ferramentas que praticamente fazem a mesma coisa?

O problema é que o LINQ to SQL veio em release final no .NET 3.5/VS2008 (RTM - Pronto para o Mercado) e muita gente comprou a idéia, inclusive eu! Aplicações foram feitas, livros foram publicados, aulas foram dadas, artigos foram escritos, etc, etc.

O LINQ to SQL apareceu no Visual Studio 2008 praticamente como o "porta-voz" da linguagem LINQ. A maioria dos artigos que falava a respeito de LINQ usou o LINQ to SQL como ferramenta de exemplo. Tanto que muita gente achou (ou ainda acha) que a linguagem LINQ e o LINQ to SQL são a mesma coisa.

Por isso não confunda LINQ to SQL com LINQ! LINQ é a linguagem e LINQ to SQL é o "provider" para usar a linguagem LINQ no acesso a bancos de dados do SQL Server.

É claro que o LINQ to SQL não vai parar de funcionar de um dia para o outro, nem a Microsoft vai parar de dar suporte. Mas tudo indica que na próxima versão da Framework (4.0) ele já não exista mais. Há uma esperança de que o projeto continue, provavelmente como Open Source no CodePlex. Vamos esperar para ver.

Enquanto isso, se você vai começar um projeto novo, não use o LINQ to SQL. Considere o Entity Framework e o NHibernate para aplicações em camadas e com possibilidade de acesso à varios databases. Ou para aplicações mais simples com database no SQL Server, eu fico é com o bom e velho Dataset Tipado que continua firme e forte, e agora compatível com o LINQ (LINQ to DataSet).

Grande Abraço!