2011-03-29 42 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)