tag net mvc español asp asp.net asp.net-mvc orm

español - Selección ASP.NET MVC y ORM



asp.net mvc 7 (3)

Crazy talk respuesta: ninguna.

Esto no quiere decir que los ORM no son piezas increíbles de tecnología cuando se usan correctamente. Pero en 2011, se están convirtiendo rápidamente en el martillo universal donde no todos los problemas son clavos. Y están sucediendo muchas cosas en los ORM modernos que, especialmente para las personas que no están familiarizadas con ellos, pueden confundir las cosas más que ayudar. O, a veces, las cosas son lo suficientemente simples como para que SQL directo sea una mejor alternativa. No importa cuán bueno sea el ORM, la abstracción se fugará en algún momento.

El otro lado de las cosas a mirar es todo el movimiento NoSQL. La tecnología aún es un poco nueva, pero para los nuevos trabajos es una estrategia de acceso a los datos que uno debe considerar, ya que se necesita mucho para crear su aplicación.

Nos estamos preparando para comenzar la reurbanización de una aplicación empresarial interna de gran antigüedad. Hemos decidido usar ASP.NET MVC, pero bajo consideración es a qué asignación relacional de objetos (ORM) elegir. Por supuesto, hay una gran cantidad de implementaciones ORM de código abierto y pago disponibles. Sin embargo, NHibernate parece tener el mayor interés en la mente, mientras que Entity Framework es el nuevo hotness de Microsoft.

Mientras investigamos y jugamos con ambos, queríamos informar a la comunidad qué ORM (NHibernate, Entity Framework u otro) prefieren y por qué.

Preguntas algo similares sobre Stackoverflow

Lectura de ORM de .NET adicional


Debería echarle un vistazo a Sharp Architecture, un framework de aplicaciones ASP.NET MVC que utiliza NHibernate.

He usado algunos O / RM en los últimos años y no hay forma de elegir nada más que NHibernate.

  1. Es el más maduro.
  2. Tiene un gran conjunto de características.
  3. Tiene una buena comunidad detrás de esto.
  4. Tiene algunos proyectos auxiliares fantásticos como Fluent NHibernate .

No sé qué más información la gente podrá darle más allá en las preguntas que ha vinculado.


Respuesta corta: use ambos (realmente uso ambos) ...

Con ORM hay múltiples posibilidades, todo depende de lo que desee.

Como un mapeador de ORM real, recomiendo encarecidamente las asignaciones NHibernate y Fluent NH . Necesita mucha investigación para armar una arquitectura agradable, pero entonces nada se interpone en su camino. Con compromisos mínimos, obtienes flexibilidad real.

EF6x (núcleo no es prod.-listo en mi humilde opinión) se llama ORM, pero lo que genera está más cerca de un DAL. Hay algunas cosas que no puedes hacer de manera efectiva con EF6. Aún así, esta es mi herramienta favorita para un modelo de lectura, mientras que sí lo combino con NHibernate (donde NH uso para un modelo de DDD / escritura).

Ahora a la performance , siempre es pro y contra. Si profundizas en la arquitectura ORM (mira mi artículo: evita los malos hábitos de ORM ), entonces encontrarás intuitivamente las formas de hacerlo más rápido. Aquí está mi otro artículo sobre cómo hacer EF6x 5 veces más rápido (al menos para situaciones de lectura): EF6.x 5 veces más rápido