2010-04-07 18 views
0

對於我們的網格視圖,我們將數據源設置爲來自Nhibernate查詢的結果列表。Nhibernate + Gridview + TargetInvocationException

我們使用延遲加載,所以對象實際上是代理...大部分時間。

在某些情況下,該列表將包含Student和Composition_Aop_Proxy_jklasjdkl31231的類型,該類型實現與Student類相同的成員。

我們仍然會打開會話,所以如果GridView沒有在GridView中拋出關於不同類型的錯誤,那麼延遲加載將很好地解決。

我們目前的解決方法是克隆對象,這會導致獲取所有可以延遲加載的數據,即使大部分數據都不會被訪問。但是,這會將代理轉換爲實際對象,並且網格視圖很高興。性能影響會讓我感到恐慌,因爲我們越來越接近於將代碼滾出去。我試過在保存後驅逐對象,這應該確保所有東西都是代理,但這看起來也不是一個好主意。

有沒有人有任何建議/解決方法?

回答

相關問題