manager dotconnect developer orm ado.net

orm - developer - dotconnect



Acceso DB de SQL de la vieja escuela frente a ORM(NHibernate, EF, et al). ¿Quién gana? (3)

Hubo una gran discusión sobre este tema en DevTeach en Montreal. Si va a esta URL: http://www.dotnetrocks.com/default.aspx?showNum=240 , podrá escuchar a dos expertos en el campo (Ted Neward y Oren Eini) discutir los pros y los contras de cada enfoque . Probablemente la mejor respuesta que encontrarás en un tema que no tenga una respuesta definitiva.

He tenido éxito al escribir mi propio código de acceso SQL con una combinación de procedimientos almacenados y consultas parametrizadas y una pequeña biblioteca contenedora que he escrito para minimizar el grunge ADO.NET. Esto ha funcionado muy bien para mí en el pasado y he sido bastante productivo con eso.

Me dirijo a un nuevo proyecto. ¿Debería dejar atrás mis viejas cosas de la escuela y profundizar en una solución basada en ORM? (Sé que hay grandes diferencias entre los conceptos de NHibernate y EF - No quiero entrar en eso aquí. En aras de la argumentación, incluso agreguemos LINQ a las alternativas de la vieja escuela.) Estoy buscando consejos sobre la aplicación en el mundo real de las cosas de tipo ORM en contra de lo que sé (y lo sé bastante bien).

Código ADO.NET de la vieja escuela o ORM? Estoy seguro de que hay una curva: ¿la curva tiene un ROI que hace que las cosas valen la pena? Estoy ansioso y dispuesto a aprender, pero tengo una fecha límite.


Me parece que LINQ to SQL es mucho, mucho más rápido cuando estoy creando prototipos de código. Simplemente destruye cualquier otro método cuando necesito algo ahora.

Pero hay un costo En comparación con los procesos almacenados enrollados a mano, LINQ es lento. Especialmente si no tienes mucho cuidado ya que cambios aparentemente menores pueden convertirse de repente en un solo turno en consultas 1 + N.

Mi recomendación. Use LINQ to SQL al principio, luego cambie a procs si no está obteniendo el rendimiento que necesita.


Una buena pregunta pero un tema muy controvertido.

Esta publicación del blog de Frans Bouma de hace algunos años citando los pros de SQL dinámico (que implica ORM) sobre los procedimientos almacenados desencadenó bastante la ardiente guerra de las llamas.