为什么我应该使用nhibernate而不是实体框架4

jga*_*fin 8 .net nhibernate entity-framework poco

我试图说服我的客户端使用nhibernate而不是Entity Framework 4.我的客户端决定只使用Microsoft库(包括Unity和Enterprise库5).我不同意它们(有更好的日志框架/验证层/ ioc等),但尊重他们的决定.

我玩了EF4几天,我不喜欢它,主要是因为:

  • 首先,所有错误消息都很糟糕.我不得不花费更多的时间在谷歌搜索异常实际意味着什么,而不是尝试修复它们.

  • 我们使用POCO,使用EF4使它们正常运行有点麻烦.

  • nhibernate使用的映射文件更容易使用.

有没有其他人有这两个框架的经验,并给我更多理由说明为什么他们不应该使用ef4?

是否有任何GUI工具或可视工作室插件可用于从数据库生成映射文件/模型(这样的东西总是有帮助的)

atc*_*way 5

人们在博客上写了很长很深的回复,比这个论坛上的一些好消息要好得多.看一下以下内容,或者在谷歌搜索"NHibernate vs. Entity Framework 4.0":

使用EF 4.0(实体框架)和NHibernate进行任务第1部分:
http ://blogs.microsoft.co.il/blogs/berniea/archive/2009/06/09/a-quest-with-ef-4-0- entity-framework-and-nhibernate-part-1.aspx
http://blogs.microsoft.co.il/blogs/berniea/archive/2009/06/09/a-quest-with-ef-4-0-entity -framework-和NHibernate的部分,2.aspx

NHibernate与实体框架4.0:http :
//ayende.com/Blog/archive/2010/01/05/nhibernate-vs.-entity-framework-4.0.aspx

实体框架4与NHibernate