除了它是开源和成熟的事实之外,将 nhibernate 与其他.net ORM框架分开的差异化因素是什么,例如 Subsonic , ADO.NET实体框架等?
更好的是,我为什么要选择nhibernate而不是其他.net实体框架?
答案 0 :(得分:3)
最大的原因可能是nHibernate支持持久性无知;您的实体可以是普通的旧CLR对象(没有基类)。它还支持Subsonic不支持的工作单元(自动跟踪和批处理更新)。此外,Entity框架不支持隐式延迟加载(当您想要访问Order.OrerItems时,您已调用Order.OrerItems.Load())。它会迫使您考虑延迟加载,但也会因基础设施问题而污染您的商业逻辑。