Nhibernate + Gridview + TargetInvocationException

时间:2010-04-07 16:10:26

标签: c# nhibernate gridview

对于我们的网格视图,我们将数据源设置为Nhibernate查询的结果列表。

我们正在使用延迟加载,因此对象实际上是代理的......大部分时间都是。

在某些情况下,列表将包含Student和Composition_Aop_Proxy_jklasjdkl31231的类型,它们实现与Student类相同的成员。

我们仍然打开了会话,所以如果GridView没有在gridview中输出关于不同类型的错误,那么延迟加载会很好地解决。

我们当前的解决方法是克隆对象,这会导致获取可以延迟加载的所有数据,即使大部分数据都不会被访问..永远。但是,这会将代理转换为实际对象,并且网格视图很快乐。性能影响让我感到害怕,因为我们越来越接近按原样滚动代码。我已经尝试在保存之后驱逐对象,这应该确保一切都是代理,但这似乎也不是一个好主意。

有没有人有任何建议/解决方法?

1 个答案:

答案 0 :(得分:0)

因为这已经蛰伏了这么久。

网格视图会使网格视图中的所有对象与第一个实例具有相同的类。

我无法在.Net spring中找到所需的AOP功能,但是我们需要这样做。

https://stackoverflow.com/questions/841231/fixing-beannotofrequiredtypeexception-on-spring-proxy-cast-on-a-non-singleton-bea