ADO.NET Entity Framework vs NHibernate因此,ADO.NET实体框架受到了一些负面的报道(以博客文章和请愿书的形式),但我不想急于做出判断。 我的实验时间有限,但我想知道还有没有人用它提供更多的经验反馈? 最后,关于使用NHibernate的想法已经存在了很长时间,并且可能比ADO.NET实体框架更成熟。 NHibernate可能更成熟。这并不一定意味着它是一个"更好"的解决方案。在工作中使用了一段时间后,我个人宁愿使用几乎不使用NHibernate的任何东西(如果迁移在远程可行的话,甚至可以使用直接SQL)。 NHibernate抛出的不表示任何内容(或确实表示某些内容但不应发生)的错误消息的数量绝对令人震惊,其某些默认行为(例如,对Find中返回的每个对象刷新一次会话)也是如此)。 就个人而言,我可以选择使用LINQ to SQL进行所有数据库工作。 如果零配置是SubSonic的主要优势,则可以看看Fluent nHibernate或Entity Framework Code-First R?zvan Panda的更新:NHibernate本身已将过时的NHibernate通过代码映射包含在大多数内容中,从而使它过时了,请参阅:notherdev.blogspot.ie/2012/02/ 自原始职位以来已经两年了。据我了解,ADO.NET Entity Framework已在.net 4中成熟。有人对此主题有任何新反馈吗?
这是自2008年首次发布以来对EF进行的改进的链接 更新:我发现此线程在堆栈溢出中,可以很好地讨论更新的EF: 实体框架4与NHibernate Microsoft几乎全部承认ADO.Net实体框架不是ORM(我目前找不到参考)。因此,如果您将实体框架视为查询引擎,那么显然它确实擅长于此。对于完整的ORM解决方案,您可能想在其他地方查找。 以下博客文章似乎证明了这种差异: http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx 我用过SubSonic,LinqToSql,LinqToEntities。现在我正在尝试NHibernate。现在-我喜欢NHibernate(可能是因为我还没有遇到足够的问题)。最糟糕的是-LinqToEntities(当然,这只是我的观点)。 我来喜欢实体。弄清楚所有错误消息的含义需要花费一些时间,但是一旦习惯了它,它的确发挥了很大的作用。目前最大的缺点是没有真正支持断开连接的功能。 我的SubSonic确实有问题。 SubSonic在名称相同但架构不同的表上cho死了。我不想讨论构建数据库的最佳实践,因为我没有打电话要求这样做。(当谈到提高声音并保持工作时,我宁愿保留我的工作。 )) |