nHibernate vs Entity Framework与Oracle后端

时间:2011-03-29 14:55:10

标签: nhibernate entity-framework

现在Oracle正式支持EF(至少在Beta版本中),EF看起来是使用Oracle数据库的合理选择。另一方面,NHibernate似乎非常适合同样的工作。

有没有人有这方面的经验?对于想要开始的人的任何建议? 从长远来看哪一个看起来最有意义?

1 个答案:

答案 0 :(得分:9)

EF在物体持久性方面仍然是新生的。它使用底层对象继承,有时可能会让你在设计时失去继承的可能性。这可以通过新版本的EF修复,但仍然缺乏NHibernate的灵活性。

NHibernate是JAVA中Hibernate .NET的一个端口。如果我从NHibernate的3.0版本中正确记得的话,它现在可能大致相同。它使用属性映射,XML映射,或者您也可以使用Fluent NHibernateConfORM,它们允许您以面向对象和可选的基于约定的方式映射对象。

虽然EF4似乎在某些方面提供了更多的性能,但我仍然倾向于使用NHibernate,因为它证明了除了SQL Server,IMHO以外的国外数据库引擎更好的灵活性。

请亲自看看:

  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)