2011-03-29 45 views
10

现在Oracle正式支持EF(至少在测试版中),EF看起来像使用Oracle数据库的合理选择。另一方面,NHibernate似乎非常适合做同样的工作。nHibernate与使用Oracle后端的实体框架

有没有人有两个经验?对于想要入门的人有任何建议? 从长远来看,哪一个似乎最有意义?

+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 – 2011-03-29 15:09:13

+0

+1您的问题允许我花一些时间来搜索有关这两种技术的一些细节。谢谢! =) – 2011-03-29 19:37:38

回答

8

EF仍然是一个新的对象持久性问题。它使用基础对象继承,有时可能会让您在设计时失去继承可能性。这可能已经被EF的新版本所修复,并且仍然缺乏NHibernate的灵活性。

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

虽然EF4似乎在某些方面提供了更多的性能,但我的偏好仍然使用NHibernate,因为它证明了除SQL Server,恕我直言之外的其他外部数据库引擎具有更好的灵活性。

请自己去看:

  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)