0

如果在初始化 NHibernate SessionFactory 时收到“DynamicMethod 的类型所有者无效”错误怎么办。

4

1 回答 1

1

如果您在初始化 NHibernate SessionFactory 时收到“DynamicMethod 的类型所有者无效”错误,那么很可能您在某些延迟加载/代理的类上使用了泛型方法。

Nhibernate 包含一个反射优化,可以加速代理类的创建。这种反射优化不适用于泛型。它抛出的错误是“DynamicMethod 的类型所有者无效”。不是很友好。

因此,要解决此问题,您必须停止使用泛型方法或关闭优化。要关闭优化,您必须在初始化 SessionFactory 之前运行以下代码。

NHibernate.Cfg.Environment.UseReflectionOptimizer = false;
于 2012-10-16T16:38:16.127 回答