我在几个项目中使用过 NHibernbate,现在也了解了更多的 ORM。据我了解,NHibernate 在运行时使用映射文件将 Class 动态绑定到 Datalayer。
我的问题是,这种后期绑定是如何完成的?我的意思是,使用哪种方法,“反射”或“动态方法”?
如果它使用反射,是否有任何使用 DynamicMethod 的 ORM?并提供更好的性能?
我在几个项目中使用过 NHibernbate,现在也了解了更多的 ORM。据我了解,NHibernate 在运行时使用映射文件将 Class 动态绑定到 Datalayer。
我的问题是,这种后期绑定是如何完成的?我的意思是,使用哪种方法,“反射”或“动态方法”?
如果它使用反射,是否有任何使用 DynamicMethod 的 ORM?并提供更好的性能?
从 NHibernate 2.1 开始,代理工厂是可插入的。以下是一些支持的代理提供程序:
所以代理实际上将不在 NHibernate 的职责范围内,这个问题的答案真的取决于选择的代理工厂。
NHibernate 使用 Castle.DynamicProxy,它在底层使用 DynamicMethods。
ORM 实例化实体的确切方式并不是评估其整体性能的好方法。