Posts com Tag ‘LINQ’

Caro leitor, se você programa em .NET utilizando o Microsoft Visual Studio ou é um fução como eu, se aventurando nesta tecnologia e utiliza o software para desenvolver aplicativos que interajam com Bancos de Dados Relacionais, provavelmente já deve ter ouvido falar ou lido sobre a tecnologia LINQ, criada pela Microsoft para facilitar a nossa vida.

Para quem é iniciante ainda, você pode usar a LINQ praticamente em qualquer coleção de objetos .NET, mas o melhor uso que você pode fazer dele é, sem dúvida, na criação de queries contra SGBDs. Nada de SQL. Mas, toda esta facilidade tem uma desvantagem: a LINQ foi concebida inicialmente para o SQL Server e Access, ambos SGBDs da Microsoft. Portanto, em tese, nada de utilizá-la com PostgreSQL, Oracle, MySQL e outros.

Se você está utilizando o Visual Studio 2008 e assistiu à apresentação sobre a LINQ direto do site da MSDN, ficou eufórico mas depois caiu em tristeza ao saber da notícia no parágrafo acima, ainda tem uma chance de recuperar sua auto-estima:

Um grupo de desenvolvedores está trabalhando num projeto chamado DbLinq Project que disponibiliza a LINQ para os SGBDs Oracle, PostgreSQL, MySQL e recentemente SqlLite. Os Providers estão sendo distribuídos sob a licença MIT, ou LGPL, para ser compatível com o Projeto Mono (em Linux!).

Mas não se entusiasme tanto: como a iniciativa não partiu de dentro da Microsoft, que detém o know-how da linguagem, você poderá enfrentar alguns probleminhas ao utilizar os Providers do DbLinq Project. Para exemplificar, cito alguns:

♦ Queries complexas não funcionam bem;
♦ Suporte a Oracle ainda é deficiente;
♦ Suporte parcial a Stored Procedures e Funções em PostgreSQL e MySQL;
♦ Não há suporte a Sub-Queries e Linq-to-Entities ainda

Mas, quem trabalha com SQL sabe o quão irritante é escrever queries gigantescas para obter algumas linhas de dados. Então, creio que não custa efetuar testes com os Providers citados e se funcionarem relativamente bem, substituir algumas queries SQL por queries LINQ.

Um conselho deixo para os mais afoitos: Teste muito bem seu aplicativo antes de disponibilizar a versão final. Você pode economizar alguns blisteres de Aspirina. 😛