2008-08-20 11 views
35

Así que ADO.NET Entity Framework ha recibido un poco de mala prensa (en forma de entradas de blog y una petición), pero no quiero apresurarme a juzgar. Tengo poco tiempo para la experimentación, pero me pregunto si alguien ha trabajado con ella con más comentarios empíricos.ADO.NET Entity Framework contra NHibernate

Finalmente, ¿cuáles son las ideas sobre el uso de NHibernate que ha existido durante mucho tiempo y puede ser más maduro que ADO.NET Entity Framework.

Respuesta

4

Microsoft ha admitido que ADO.Net Entity Framework no es un ORM (no puedo encontrar una referencia actualmente). Entonces, si piensas en Entity Framework como un motor de consulta, aparentemente es muy bueno en lo que hace. Sin embargo, para una solución completa de ORM, es posible que desee buscar en otra parte.

La siguiente entrada del blog parece confirmar esta diferencia:

http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx

13

NHibernate puede ser más maduro. Eso no significa necesariamente que sea una solución "mejor". Después de haberlo usado en mi trabajo por algún tiempo, personalmente preferiría usar casi cualquier cosa que NHibernate (incluso SQL directo, si la migración fuera remotamente posible). La cantidad de mensajes de error lanzados por NHibernate que no significan nada (o que significan algo pero que nunca deberían ocurrir) es absolutamente asombrosa, como lo son algunos de sus comportamientos predeterminados (como enjuagar la sesión una vez por cada objeto devuelto en un Find)

Personalmente, cuando puedo, utilizo LINQ to SQL para todo el trabajo de la base de datos.

+0

¿El soporte de subsidencia recientemente publicado en la esfera te hace cuestionar esta decisión? Siento que necesito abandonarlo por temor a que las futuras necesidades de apoyo sean ignoradas por ms. pensamientos? –

+0

No estoy terriblemente preocupado. Si se abandona por completo (improbable), siempre es posible que un tercero construya una capa LINQ to SQL ontop de plain LINQ (que no va a ninguna parte), similar a los grupos que hicieron LINQ a AD o LINQ a NHibernate. Alguien casi seguramente haría esto. – TheSmurf

+0

¿Qué errores está obteniendo? –

0

Tengo un problema con SubSonic. SubSonic se estranguló en tablas con el mismo nombre pero con un esquema diferente. No quiero hablar sobre las mejores prácticas para construir una base de datos, porque no hice la llamada para hacerlo. (Cuando se trata de elevar la voz, hacer un punto y mantener el trabajo, prefiero mantener mi trabajo.))

+0

Esa es una buena idea: cuando trabajo, alguien diseñó una base de datos de la misma manera con nombres duplicados en varios esquemas. – t3rse

3

He utilizado SubSonic, LinqToSql, LinqToEntities. Ahora estoy intentando NHibernate. Por ahora, me gusta NHibernate (probablemente porque no he encontrado suficientes problemas). Lo peor de todos ellos: LinqToEntities (esa es solo mi opinión, por supuesto).

0

Estoy llegando a gustar Entity. Lleva un tiempo descubrir qué significan todos sus mensajes de error, pero una vez que te acostumbras, realmente hace un gran trabajo. El mayor inconveniente que tiene en este momento no es un apoyo real para desconectarse.

12

Si configuración cero es la ventaja principal de SubSonic se puede ver en Fluent nHibernate o Entity Framework Código-Primera

actualización desde Răzvan Panda: Fluido NHibernate se ha hecho sobre todo obsoletas por la inclusión en sí mismo de la cartografía por código NHibernate, ver : notherdev.blogspot.ie/2012/02/

+0

Código Entity Framework Primero también es la configuración cero, de hecho, ni siquiera necesita una cadena de conexión para que se ejecute. –

+0

@Lavinski Yeh, ahora tiene. Pero el 19/08/2009, cuando dejé este comentario, no. – Regfor

+1

Razón de más para mantenerlo actualizado. –

6

Han pasado 2 años desde la publicación original. Por lo que entiendo, ADO.NET Entity Framework ha madurado con .net 4. ¿Alguien tiene algún comentario nuevo sobre este tema?

Aquí hay un enlace a las mejoras añadidas a EF desde el primer lanzamiento en 2008 http://blogs.msdn.com/b/adonet/archive/2009/05/11/update-on-the-entity-framework-in-net-4-and-visual-studio-2010.aspx

Actualización: He encontrado este hilo en caso de desbordamiento de pila que hace un buen trabajo de discutir la EF actualización:

Entity Framework 4 vs NHibernate

Cuestiones relacionadas