Atualmente, temos a seguinte pilha:
- VS 2005
- Formulários da Web
- SQL Server 2005
- IIS 6
Estamos planejando fazer a transição para isso:
- VS 2010
- MVC e Web Forms
- SQL Server 2008
- IIS 7
Minha pergunta é: quando passamos para o MVC com o VS 2010, devemos usar o Entity Framework (ou outro ORM), um micro ORM (como Massive ) ou simplesmente SQL?
Todos os tutoriais que li sobre o VS 2010 são todos voltados para o uso do Entity Framework para transações de dados, mas isso estará disponível no futuro próximo (mais de 5 anos)?
Se isso for importante, os aplicativos de nossos clientes podem ter de 10 a 1.000 usuários ativos.
asp.net
asp.net-mvc
entity-framework
webforms
guanome
fonte
fonte
Respostas:
Recentemente, mudei de usar consultas SQL em linha para usar EF e eis o que encontrei:
Prós
Contras
1:0-1
relacionamento em que a EF queira usar um1:0-*
Eu não sou especialista em EF, então provavelmente perdi algumas coisas. Esses são apenas os itens que eu sei que contei no passado ao alternar do SQL embutido para o Entity Framework. Estou feliz por ter mudado, mas houve momentos em que odiei a EF devido às suas peculiaridades.
fonte
O Entity Framework é uma ferramenta de produtividade. A menos que você tenha um bom motivo para não fazê-lo (por exemplo, você está no SQL 2000 ou não tem tempo para aprimorar a tecnologia), use as melhores ferramentas à sua disposição.
Dito isto, acho que o conceito de Entidades se traduz muito bem no Modelo do padrão MVC. Embora ter um relacionamento 1: 1 com modelos e tabelas seja uma prática ruim, pensar em termos de entidades tende a produzir designs limpos e fáceis de ler código (especialmente com LINQ).
O Entity Framework é suportado ativamente pela Microsoft. Ninguém tem uma bola de cristal mágica para dizer "o suporte durará X anos". Não vejo razão para acreditar que a Entidade morrerá nos próximos 5 anos.
fonte
Outra solução potencial é usar uma Entity Framework Library alternativa que não é a fornecida com o VS. Existem algumas disponíveis na Web.
O conceito de estrutura do Entity / 3 layers já existe há algum tempo e trabalha com várias bibliotecas personalizadas, como muitos outros desenvolvedores, antes da Microsoft lançar seu próprio framework "oficial".
Prós
Tenha os benefícios da estrutura Entity (DAL), sem ficar preso às alterações constantes das bibliotecas / estruturas da Microsoft.
Adicionar recursos a uma biblioteca que talvez não estejam disponíveis para a biblioteca oficial existente, como o uso de várias marcas dtabase.
Contras
Tem que suportar a biblioteca ou ferramentas. É muito comum ter uma ferramenta de código gerador de entidades para gerar os enitites.
fonte
Você precisa tomar uma decisão arquitetural com base no problema e na solução existente. Como em qualquer tecnologia, existem vantagens e desvantagens.
Pessoalmente, normalmente usaria a estrutura da entidade para um novo desenvolvimento, mas não reescreveria o código existente em funcionamento. Você obtém a velocidade para o futuro delelopment, mas não precisa investir muito tempo convertendo o código. A desvantagem dessa abordagem é que ela reduz a consistência.
fonte
Na sua situação, eu definitivamente usaria o Entity Framework, descobri que funciona bem com o MVC.
Aqui estão alguns motivos reais e dicas.
No entanto, você precisará aprender várias coisas sobre o uso de um ORM.
Coisas a considerar
Também recomendo a primeira abordagem de código, mesmo se você tiver um banco de dados existente.
fonte