实体框架4.1 VS Nhibernate,适用于ORM中的noob

Mah*_*esh 4 nhibernate entity-framework-4.1

我正在第一次评估ORM.请建议我应该为下一个项目选择哪一个.

我首先用EF 4.1代码编写了几个示例代码.在与Nhibernate开始相同的练习之前,我想知道是否有人已经在生产应用程序中遇到过这两种情况.

我的评估标准

  1. 数据库访问速度
  2. 学习曲线(因为我是ORM的新手)
  3. 社区支持
  4. 教程/书籍可用性
  5. 我应该考虑的任何其他事情(因为我是ORM的noob)

我希望在生产级应用程序中有ORM经验的人能回答我的问题.

提前致谢!!!

我知道这问题可能有点危险;)

Pin*_*nyM 6

使用EF 4.1和Castle ActiveRecord(基于NHibernate),我会按如下方式评价它们:

数据库访问的速度 - NHibernate用于远程复杂的任何东西,否则大致相同.EF的问题在于它创建了这样复杂的SQL,很难知道如何优化它,或者甚至可能这样做.

学习曲线 - 我个人认为EF更容易上手,但其他人可能会有不同的感受,而且两者肯定都有学习曲线.

社区支持 - 取决于"支持"的含义.您可以在网络(和本网站)上找到大量信息.NHibernate是开源的,而EF则由MS控制.

教程/书籍 - 我相信目前有更多"官方"资源可用于EF,但在论坛上搜索可能会让你获得书中找不到的内容.

Anthing else - 意识到ORM的目的是为开发人员简化数据访问层.但是,这两个ORM(以及几乎所有其他重量级ORM)都希望您使用某些编码模式来实现这种简化.虽然编码模式执行不是一件坏事(有些人认为这是必须的),但在选择之前你肯定需要做好准备.