实体框架4.1 VS Nhibernate,用于ORM中的noob
我正在第一次评估ORM。请建议我应该为我的下一个项目选择哪一个 我首先用EF4.1代码编写了两个示例代码。在使用Nhibernate开始相同的练习之前,我想知道是否有人已经在生产应用中使用了这两种方法 我的评价标准实体框架4.1 VS Nhibernate,用于ORM中的noob,nhibernate,entity-framework-4.1,Nhibernate,Entity Framework 4.1,我正在第一次评估ORM。请建议我应该为我的下一个项目选择哪一个 我首先用EF4.1代码编写了两个示例代码。在使用Nhibernate开始相同的练习之前,我想知道是否有人已经在生产应用中使用了这两种方法 我的评价标准 数据库访问速度 学习曲线(因为我是ORM新手) 社区支持 教程/书籍供应 我应该考虑的其他事情(因为我是ORB)< /LI> 我希望拥有ORM和生产级应用经验的人能回答我的问题。 提前感谢 我知道这个问题问起来可能有点危险;) 好吧,我个人的经验告诉你,在复杂的情况下,我的选择是正确
我知道这个问题问起来可能有点危险;) 好吧,我个人的经验告诉你,在复杂的情况下,我的选择是正确的,它给了我更好的时间效果,而且它更容易学习 我首先学习了它,然后尝试了实体框架,我发现学习nhibernate更容易,尽管那一刻我对ORM一无所知 我可以说,社区支持、教程和书籍都很好,有很多可供学习的材料
现在我可以同时使用它们,但仍然更喜欢Nhibernate。如果你是ORM的新手,只需要基本功能,你可能会发现实体框架和Nhibernate过于简单,应该考虑使用重量轻的,比如Massible: 也就是说,EF和NH面临两个主要问题
希望这有帮助 在使用了EF 4.1和Castle ActiveRecord(基于NHibernate)之后,我将对它们进行如下评级: 数据库访问速度-对于任何远程复杂的对象,NHibernate的访问速度大致相同。EF的问题是,它创建了如此复杂的SQL,以至于很难知道如何优化它,或者是否有可能这样做 学习曲线——我个人认为EF更容易开始,但其他人可能会有不同的感觉,而且两者都有学习曲线 社区支持-取决于你所说的“支持”是什么意思。你会在网上(和这个网站)找到很多关于这两者的信息。NHibernate是开源的,而EF由MS控制 教程/书籍-我相信目前EF有更多的“官方”资源可用,但在论坛上搜索可能会得到你在书籍中找不到的东西
Anthing else——认识到ORM的目的是简化开发人员的数据访问层。然而,这两种ORM(以及几乎所有其他重量级ORM)都希望您使用特定的编码模式来实现这种简化。虽然编码模式实施不是一件坏事(有些人认为这是必须的),这是你在选择之前一定要准备的东西。你应该把它转换成一个社区维基:)@Claudio现在我在编辑这个问题时看不到社区维基选项..NET ORMs:添加NH的
NHibernate实用书籍
和NHibernate食谱
。有更多的资源,NH然后只有论坛。我厌倦了大规模和petapoco,我发现petapoco是更好的为我的需要。现在我要和它一起生活一天,看看事情会怎样。谢谢你介绍我。我没有意识到这一点。