Acesso ao banco de dados SQL tradicional versus ORM (NHibernate, EF, et al).Quem ganha?

StackOverflow https://stackoverflow.com/questions/59972

  •  09-06-2019
  •  | 
  •  

Pergunta

Consegui escrever meu próprio código de acesso SQL com uma combinação de procedimentos armazenados e consultas parametrizadas e uma pequena biblioteca wrapper que escrevi para minimizar o grunge do ADO.NET.Tudo isso funcionou muito bem para mim no passado e tenho sido muito produtivo com isso.

Estou iniciando um novo projeto. Devo deixar minhas coisas antigas para trás e me aprofundar em uma solução baseada em ORM?(Eu sei que existem grandes diferenças de conceitos elevados entre NHibernate e EF - não quero entrar nisso aqui.Para fins de argumentação, vamos até mesmo agrupar o LINQ com as alternativas da velha escola.) Estou procurando conselhos sobre a aplicação no mundo real de coisas do tipo ORM em comparação com o que eu sei (e sei muito bem).

Código ADO.NET antigo ou ORM?Tenho certeza de que existe uma curva – a curva tem um ROI que faz as coisas valerem a pena?Estou ansioso e com vontade de aprender, mas tenho um prazo.

Foi útil?

Solução

Uma boa pergunta, mas um tema muito controverso.

Esta postagem do blog de Frans Bouma há alguns anos, a citação dos prós do SQL dinâmico (implicando ORMs) em relação aos procedimentos armazenados desencadeou uma guerra violenta.

Outras dicas

Acho que o LINQ to SQL é muito, muito mais rápido quando estou prototipando o código.Simplesmente surpreende qualquer outro método quando preciso de algo agora.

Mas há um custo.Comparado aos procs armazenados manualmente, o LINQ é lento.Especialmente se você não tomar muito cuidado, pois alterações aparentemente pequenas podem repentinamente transformar uma única consulta em consultas 1+N.

Minha recomendação.Use LINQ to SQL primeiro e depois mude para procs se não estiver obtendo o desempenho necessário.

Houve uma grande discussão sobre este tema no DevTeach em Montreal.Se você acessar este URL: http://www.dotnetrocks.com/default.aspx?showNum=240 você poderá ouvir dois especialistas na área (Ted Neward e Oren Eini) discutirem os prós e os contras de cada abordagem.Provavelmente a melhor resposta que você encontrará sobre um assunto que não tem uma resposta definitiva.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top