2011-03-29 24 views
10

Ahora que Oracle admite EF oficialmente (al menos en Beta), EF parece una opción razonable para trabajar con la base de datos Oracle. Por otro lado, NHibernate parece muy adecuado para el mismo trabajo.nHibernate vs Entity Framework con Oracle backend

¿Alguien tiene experiencia con ambos? ¿Alguna recomendación para alguien que quiera comenzar? ¿Cuál parece tener más sentido a la larga?

+0

http://stackoverflow.com/questions/18132/ado-net-entity-vs-nhibernate http://stackoverflow.com/questions/1639043/entity-framework-4-vs- nhibernate http://stackoverflow.com/questions/3286335/deciding-between-nhibernate-vs-entity-framework –

+0

+1 Su pregunta me permitió tomarme un tiempo para buscar algunos detalles sobre las dos tecnologías. ¡Gracias! =) –

Respuesta

8

EF sigue siendo un recién nacido en lo que respecta a la persistencia de objetos. Utiliza una herencia de objeto subyacente que algunas veces podría hacer que pierdas tu posibilidad de herencia durante el diseño. Esto podría haberse solucionado con la nueva versión de EF, y aún así, carece de la flexibilidad de NHibernate.

NHibernate es un puerto para .NET de Hibernate en JAVA. Es probable que tenga la misma madurez ahora, si recuerdo correctamente de la versión 3.0 de NHibernate. Utiliza la asignación de atributos, la asignación XML o también puede usar Fluent NHibernate o ConfORM, que le permiten asignar sus objetos de forma orientada a objetos y opcionalmente basada en convenciones.

Aunque EF4 parece ofrecer más rendimiento en algunos aspectos, mi preferencia reside todavía en el uso de NHibernate, ya que ha demostrado una mayor flexibilidad con motores de bases de datos externas distintos de SQL Server, en mi humilde opinión.

Por favor, ver por sí mismo:

  1. NHibernate vs. Entity Framework 4.0 (Ayende);
  2. Entity Framework 4 vs NHibernate (SO);
  3. EF4 compared to NHibernate;
  4. Performance comparison of nHibernate and Entity Framework.
  5. .net ORM Comparison (SO)
Cuestiones relacionadas