最新版本的Entity framework vs NHibernate

all*_*lan 0 nhibernate entity-framework-4 entity-framework-4.1

考虑到最新版本的Entity框架与NHibernate相比,我是否应该使用NHibernate而不是最新版本的Entity框架?

是否存在当前版本的Entity框架未涵盖的Nhibernate功能?

谢谢

Lad*_*nka 7

有大量关于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 - 对于许多公司而言,这是重要的决策点.您可以检查数据用户语音,以查看ADO.NET团队当前为下一版本请求的功能.