Nhibernate 与其他 ORM 的区别是啥?
Posted
技术标签:
【中文标题】Nhibernate 与其他 ORM 的区别是啥?【英文标题】:What differentiates Nhibernate from other ORM’s?Nhibernate 与其他 ORM 的区别是什么? 【发布时间】:2009-03-18 15:39:45 【问题描述】:除了开源和成熟之外,nhibernate 与其他 .net ORM 框架(如 Subsonic、 ADO.NET 实体框架 等?
更好地说,我为什么要选择 nhibernate 而不是其他 .net 实体框架?
【问题讨论】:
【参考方案1】:最大的原因可能是nHibernate支持持久化无知;您的实体可以是普通的旧 CLR 对象(无基类)。它还支持 Subsonic 不支持的工作单元(自动跟踪和批处理更新)。此外,Entity 框架不支持隐式延迟加载(当您要访问 Order.OrerItems 时,您必须调用 Order.OrerItems.Load())。它迫使您考虑延迟加载,但也会因基础架构问题而污染您的业务逻辑。
【讨论】:
那么你是支持还是反对 Nhibernate? “它迫使你考虑懒惰..”是模棱两可的。 我签署了英孚的不信任投票;我认为 Nhibernate 是一个更好的工具。它确实迫使你考虑延迟加载,我认为你应该只在重要的时候考虑它。以上是关于Nhibernate 与其他 ORM 的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章