对于我们的网格视图,我们将数据源设置为Nhibernate查询的结果列表。
我们使用的是延迟加载,所以对象实际上是代理的。大多数时候都是。
在某些情况下,该列表将由学生和Composition_Aop_Proxy_jklasjdkl31231类型组成,它们实现了与学生类相同的成员。
我们仍然打开了会话,所以如果gridview没有在网格视图中抛出关于不同类型的错误,那么延迟加载将很好地解决问题。
我们目前的解决方法是克隆对象,这会导致获取所有可以延迟加载的数据,即使其中大部分数据不会被访问。永远不会。然而,这会将代理转换为实际的对象,并且网格视图是满意的。性能方面的影响让我有点害怕,因为我们越来越接近按原样推出代码。我已经尝试过在保存后驱逐对象,这应该会确保所有东西都是代理,但这似乎也不是一个好主意。
有人有什么建议/变通方法吗?
发布于 2010-11-03 23:08:16
因为它已经休眠了这么长时间。
发生的情况是,网格视图将期望网格视图中的所有对象与第一个实例属于同一个类。
我在.Net spring中找不到所需的面向方面编程特性,但是我们需要这样做。
https://stackoverflow.com/questions/2594018
复制相似问题