Confesso que eu tive uma grande resistência ao LINQ no seu lançamento.
A minha resistência se deu exatamente em não acreditar 100% em frameworks de objeto relacional, já que os modelos que eu tinha visto até então feriam alguns conceitos de OO que para mim, na época eram importantes.
A minha frustração foi quando o LINQ chegou de vez no mercado e tomou espaço com o desenvolvimento WEB (objetos DataSource) já que a maioria das aplicações que eu desenvolvia eram WEB. A facilidade em fazer querys foi uma das coisas que me chamou a atenção no LINQ, e comecei a fazer algumas DEMOS para conhecer o produto.
Quando eu fiz a primeira DEMO, fiquei impressionado com a experiência e a produtividade de fazer um INSERT na base de dados … percebi que o linq estava fazendo 100% do trabalho que eu vivia escrevendo manualmente, foi quando eu comecei a perceber a quantidade de tempo que eu poderia economizar, e a padronização no código que eu poderia gerar utilizando o LINQ, sem falar é claro no mapeamento Classe X Tabela que era claro e simples de entender.
Abrí a classe que o LINQ gera e ví como eu poderia customizar, melhorar, herdar, etc … o meu medo era depender de um mapeamento sem poder criar as classes que eu quisesse e depender de criar classes somente para gravar na fonte de dados. Esse medo acabou depois dessa “olhada” mais a fundo no que foi gerado pelo LINQ.
Se você é um desenvolvedor de software, vai entender que o que fazemos hoje normalmente, repetitivamente e sempre é exatamente isso:
- Recuperar os dados da tela
- Preencher uma instancia de um objeto específico e configurar os seus valores (propriedades)
- Enviar para persistência na fonte de dados (banco, xml, txt, etc)
Esses 3 passos resumem basicamente uma operação de INSERT, UPDATE ou DELETE feito em qualquer aplicação que utilize conceito de armazenamento de dados. Não vou comentar aqui sobre os códigos que fazem acesso à banco de dados via ADO diretamente pela página ok ? [:)]
O LINQ facilita as operações basicas de consulta e persistência de objetos e gera uma grande produtividade. Além disso pode-se customizar as classes da maneira que melhor agradar. Você modela o banco de dados e gera as classes que estão prontas para gravarem as informações na sua fonte de dados.
Vou iniciar uma série básica sobre LINQ to SQL (implementação do LINQ para SQL) fazendo algumas demos usando aplicações ASP.NET e você conseguirá acompanhar passo-a-passo os principais recursos dessa tecnologia. Logo vai perceber que o LINQ gera produtividade e garante um modelo sólido de desenvolvimento.
Até a próxima !
Tive a mesma impressão, mas na verdade, foi uma satisfação em perceber que teríamos a partir de LINQ, algo como já víamos em Java com JPA e EJB3, ou ainda, a mais tempo, DataSnap em Delphi.
Acredito realmente que com LINQ To Entitie estabilizado, teremos uma corrida para esta tecnologia.
Olá Laercio,
Exatamente. Sempre fui meio “assim” para esses frameworks, mas na vdd o que faltou era dar uma olhada mais a fundo e entender os benefícios. Foi uma quebra de paradígmas 🙂 abs