Существует множество сообщений о различиях между 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
- Больше возможностей для сложного сопоставления
- Настраиваемое сопоставление типов
- Пакетное выполнение команд
- Будущие запросы
- Кэш 2-го уровня
- Расширяемость и множество готовых к использованию расширений
- Множество хуков, где вы можете заменить реализацию по умолчанию NH своей собственной или добавить новую логику
- и т. Д.
EF имеет лучшую поддержку LINQ, и это от MS - для многих компаний это важный момент принятия решения.Вы можете проверить data user voice , чтобы увидеть, какие функции в настоящее время запрашиваются командой ADO.NET для следующих выпусков.