2009-09-10 2 views
0

사용자가 세션에서 여러 페이지에 구성한 엔티티를 유지하려고합니다. 이 엔티티는 NHibernate와 함께로드되며 일부 속성/콜렉션은 지연로드됩니다. 말 :NHibernate : eager-reload transient 객체 중첩 된 자식 속성들

  • 세션 [ "순서"] 새로운 주문 일부 다음 페이지 (productRepository.Get (ID))
  • 는, [ "순서"] 세션을 얻고 지금
작업 =

하지만이 순서는 괜찮지 만 제품 (및 중첩 된 항목)은 다른 세션에서 느리게로드되므로 깨졌습니다.

NHibernate에 내 트랜 전트 순서의 속성을 가장 깊은 수준으로 열망하고 싶다고 말할 수 있습니까? 또는 유일한 솔루션은 productRepository 일 때 열심히로드하는 것입니다 .Get (id) ? 마찬가지로, Session.LoadNestedProperties (order, Eager);

업데이트 : http://www.ribbing.net/index.php?option=com_content&task=view&id=35&Itemid=1이 문제를 해결하는 것으로 보입니다. 그러나 나는 그 반사가 위대하다는 것을 확신하지 못합니다. ...

답변

0

당신이 원하는 모든 객체를 열심히로드 할 수 있습니다. 약간 까다 롭습니다.

또는 다음과 같은 시도 할 수 :

내가 당신의 주문이 하나의 제품을 가지고 가정합니다. 이 제품은 사용자가 두 번째 페이지를 방문 할 때 분리 된 개체가되므로 문제가됩니다. 현재 세션에 제품 인스턴스를 다시 연결하는

session.Update(myorder.Product)

: 당신은 같은 것을 사용할 수 있습니다. 그 후에 게으른 로딩은 잘 작동합니다.

관련 문제