Есть тонны сообщений о различиях между NH и EF - сделать некоторые исследования и сами, если вы хотите получить полный ответ.
Короткая версия:
EF 4,1 приносит только новый способ использования EF 4.0 - это означает, что новый упрощенный API под названием (DbContext) и отображение кода. Обе эти новые функции более ограничены, чем оригинальные EF 4.0.
EF 4.3 обеспечивает миграцию первого кода для разработки инкрементной модели данных.
EF 4.5 Beta/EF 5.0 Beta обеспечивает поддержку перечислений, пространственных типов, функций, связанных с таблицами, автоматически скомпилированных запросов + производительности и улучшений API.
Есть много особенностей отеля NH, которые до сих пор не представляется возможным в EF
- Больше возможностей для комплексного отображения
- отображение пользовательского типа
- Пакетное выполнение команд
- Будущее запросов
- второй кеш уровня
- Расширяемость и множество готовых к использованию расширений
- Много крючков, где вы можете заменить реализацию NH по умолчанию с вашим собственным или добавить новую логику
- т.д.
EF имеет лучшую поддержку LINQ и от MS - для многих компаний это важный момент принятия решения , Вы можете проверить data user voice, чтобы узнать, какие функции в настоящее время запрашиваются от команды ADO.NET для следующих выпусков.