Nhibernate与其他ORM的区别是什么?

时间:2009-03-18 15:39:45

标签: c# .net nhibernate orm

除了它是开源和成熟的事实之外,将 nhibernate 与其他.net ORM框架分开的差异化因素是什么,例如 Subsonic ADO.NET实体框架等?

更好的是,我为什么要选择nhibernate而不是其他.net实体框架?

1 个答案:

答案 0 :(得分:3)

最大的原因可能是nHibernate支持持久性无知;您的实体可以是普通的旧CLR对象(没有基类)。它还支持Subsonic不支持的工作单元(自动跟踪和批处理更新)。此外,Entity框架不支持隐式延迟加载(当您想要访问Order.OrerItems时,您已调用Order.OrerItems.Load())。它会迫使您考虑延迟加载,但也会因基础设施问题而污染您的商业逻辑。