Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实体框架4';s的POCO支持与NHibernate相比?_Nhibernate_Entity Framework_Orm - Fatal编程技术网

实体框架4';s的POCO支持与NHibernate相比?

实体框架4';s的POCO支持与NHibernate相比?,nhibernate,entity-framework,orm,Nhibernate,Entity Framework,Orm,只是想知道是否有人有过使用EntityFramework4的POCO支持的经验,以及它与NHibernate相比有何优势。如果它们是相同的,我会非常有兴趣选择Entity Framework 4作为我的ORM,因为它会: 支持数据优先和对象优先的开发 拥有强大的LINQ提供程序 更容易向客户推销(因为它是由Microsoft开发的) 进入.NET框架,而不需要8个DLL来启动和运行 换句话说,EF4有什么主要缺点吗? 它是否支持NHibernate支持的所有基本功能(延迟加载、快速加载、一级缓存

只是想知道是否有人有过使用EntityFramework4的POCO支持的经验,以及它与NHibernate相比有何优势。如果它们是相同的,我会非常有兴趣选择Entity Framework 4作为我的ORM,因为它会:

  • 支持数据优先和对象优先的开发
  • 拥有强大的LINQ提供程序
  • 更容易向客户推销(因为它是由Microsoft开发的)
  • 进入.NET框架,而不需要8个DLL来启动和运行
  • 换句话说,EF4有什么主要缺点吗?

    它是否支持NHibernate支持的所有基本功能(延迟加载、快速加载、一级缓存等),或者它的边缘仍然粗糙?设置映射的语法是否与NHibernate和/或Fluent NHibernate一样简单


    编辑:请不要提出不信任投票。这是很久以前的事了,它解决了EF1的一些严重缺陷,这些缺陷似乎已经不再适用于EF4了。

    看起来Ayende对这两者进行了非常详细的比较,尽管他承认这不是一个彻底的逐点细分(这正是我在这里所希望的)


    总的来说,我认为他提出的支持NHibernate的观点是正确的,尽管有点“很好”。如果这确实是EF4目前缺乏的地方,那么就我在原始问题中列出的原因而言,EF4似乎是NHibernate的一个很好的替代品。

    据我所知,NHibernate支持数据优先开发。另一方面,一些客户机采用VS2010/.NET4可能需要一段时间。NHibernate支持数据优先开发,因为它不会主动禁止您这样做。然而,很明显,NHibernate建议的路径是代码优先开发,而EF4似乎对这两种方法给予同等的重视。例如,EF4可以获取现有的遗留数据库并快速生成用于数据访问的类。有了NHibernate,你必须手工操作,这是非常耗时的。你说的这8个DLL是什么?它只像4个左右:)你只需要引用em中的2个…NH和字节码提供程序,我认为…NHibernate有一大堆代码生成器,所以我不确定为什么你不会对NHibernate做与实体框架相同的事情。