nHibernate против Entity Framework с серверной частью Oracle - PullRequest
11 голосов
/ 29 марта 2011

Теперь, когда Oracle официально поддерживает EF (по крайней мере, в бета-версии), EF выглядит разумным выбором для работы с базой данных Oracle. С другой стороны, NHibernate кажется очень подходящим для той же работы.

У кого-нибудь есть опыт работы с обоими? Любая рекомендация для тех, кто хочет начать? Какой из них кажется наиболее целесообразным в долгосрочной перспективе?

1 Ответ

9 голосов
/ 29 марта 2011

EF - все еще новорожденный в отношении стойкости объекта. Он использует базовое наследование объектов, которое иногда может привести к потере возможности наследования при проектировании. Это можно было бы исправить с помощью новой версии EF, и все же ему не хватает гибкости NHibernate.

NHibernate - это порт для .NET Hibernate в JAVA. Это, вероятно, примерно такая же зрелость сейчас, если я правильно помню из версии 3.0 NHibernate. Он использует либо сопоставление атрибутов, либо сопоставление XML, либо вы также можете использовать Fluent NHibernate или ConfORM , которые позволяют отображать ваши объекты объектно-ориентированным и, необязательно, на основе соглашения.

Несмотря на то, что EF4, кажется, в некоторых отношениях обеспечивает большую производительность, я все еще предпочитаю использовать NHibernate, поскольку он доказал лучшую гибкость с иностранными механизмами баз данных, отличными от SQL Server, IMHO.

Пожалуйста, убедитесь сами:

  1. NHibernate против Entity Framework 4.0 (Ayende) ;
  2. Entity Framework 4 против NHibernate (SO) ;
  3. EF4 по сравнению с NHibernate ;
  4. Сравнение производительности nHibernate и Entity Framework .
  5. .net ORM Сравнение (SO)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...