none
Entity Framework e Ferramentas de ORM RRS feed

  • Discussão Geral

  • Boa noite galera,

    Estou trabalhando apenas dois anos com .NET, sendo que trabalhei com NHibernate durante um tempo...agora estou focando no EF.

    Além de querer aperfeiçoar meus conhecimentos, estou fazendo minha monografia da faculdade baseada nisso. O tema seria "Ferramentas de ORM, foco no .Net Entity Framework", por isso estou abrindo esta discussão e conto com a ajuda de vocês para acrescentar conhecimentos e validar os apresentados.

    Ferramentas de ORM evitam retrabalho e melhoram a manutenibilidade das soluções. Hoje temos várias ferramentas, destacando como principais o NHibernate e o Entity Framework.

    O Entity Framework, criado pela Microsoft, permite fácil criação do modelo a partir de um database (Database-First Approach) ou do database a partir de um modelo (Model-First Approach). O Visual Studio 2010 dá grande suporte à designer, permitindo criar o modelo inteiramente em modo designer, evitando que você tenha que ficar abrindo arquivos .xml para isso (essa foi uma das grandes diferenças que senti ao trabalhar com o EF). Além disso, há uma extensão do LINQ, o LINQ To Entities, para trabalhar com o EF, permitindo que você escreva queries com o LINQ, beneficiando-se da verificação em tempo de desenvolvimento/compilação. O LINQ é transformado em uma consulta sql e o resultado da consulta já vem de forma estruturada.

    Apesar de ter trabalhado com o NHibernate, não o conheço a fundo para fazer grandes comparações, pois pelo meu pouco conhecimento, o NH faz o mesmo que o EF. Apesar de ser a favor do uso do EF, principalmente por ser uma ferramenta acoplada ao VS, reconheço que o NHibernate está mais tempo no mercado e conta com ferramentas extras, além de poder ser customizado mais abertamente.

     

    Há algumas dúvidas que gostaria de tirar, como:

    - Desempenho:

     No site http://ormeter.net há medições de desempenho de diversos ORMs, sendo que o NHibernate não fica muito bem no ranking.  Alguem sabe se a fonte pode não ser confiável? Além disso, porque o BLTolkit tem uma performance anos luz na frente do EF e do NH?

    - LINQ:

     Li que o LINQ ainda é melhor no EF, isto é verdade?

    - Problemas com modelos de conexão:

    Há algum problema com conexões usando ORM em modelos WEB?

    - Arquitetura:

    Qual a melhor arquitetura genérica usando ORMs? Alguém tem alguma boa que posso apresentar?

     

    Gostaria de sugestões sobre tópicos para apresentar na monografia, além disso fica para quem estiver aprendendo sobre o assunto dados atualizados =D

     

    Agradeço a todos,

    Alexandre N Dantas

    alexnogdantas@hotmail.com


    terça-feira, 22 de março de 2011 01:28