2010-04-07 3 views
0

그리드 뷰의 경우 데이터 소스를 Nhibernate 쿼리의 결과 목록으로 설정합니다.Nhibernate + Gridview + TargetInvocationException

우리는 느린 로딩을 사용하기 때문에 객체는 실제로 프록시 처리됩니다 ... 대부분의 경우.

경우에 따라 목록은 Student 클래스와 동일한 멤버를 구현하는 Student 및 Composition_Aop_Proxy_jklasjdkl31231 유형으로 구성됩니다.

GridView에서 GridView의 여러 유형에 대한 오류를 throw하지 않으면 세션이 열려 있기 때문에 지연로드가 문제를 해결할 수 있습니다.

우리의 현재 해결 방법은 객체를 복제하는 것입니다. 이로 인해 지연로드가 가능한 모든 데이터를 가져 오는 결과가 나오지만 대부분은 액세스되지 않습니다. 그러나 이것은 프록시를 실제 객체로 변환하고 그리드 뷰는 만족 스럽습니다. 우리가 코드를 롤아웃하는 것처럼 가까워 질수록 성능에 미치는 영향이 두렵다. 세이브 한 후에 객체를 제거하려고했는데 모든 것이 프록시인지 확인해야하지만 좋은 생각처럼 보이지는 않습니다.

아무에게도 제안/해결 방법이 있습니까?

답변