2009-06-06 3 views
0

내 카테고리 모델에 대한 트리 구조를 최적화하려고합니다. 카테고리 모델에는 Parent 속성과 Children 컬렉션이 있습니다.1에서 ID 노출 : n 관계/트리 (NH)

내가 일반적으로하는 방식은 모든 범주를로드하는 것입니다 (좋지 않지만 최대 100 개의 노드). 그런 다음 모든 카테고리를 id로 인덱싱 한 다음 parentid 카테고리로 상위를 검색하여 트리를 수동으로 어셈블합니다. 더럽지 만 정말로 빠릅니다. 내가 가진 문제는, 내가/부모 nhibernate를 사용하여 부모 관계에서 ParentID를 매핑하는 방법을 모르겠입니다.

내가 능통 자 NHibernate에서이 매핑이 말 :

 References(cat => cat.Parent,"Parent_id") 
      .FetchType.Select() 
      .WithForeignKey("Category_ParentCategory"); 

내 질문은 다음입니다 : 내가 어떻게 얻거나 데이터베이스에서 부모를로드하지 않고, 지정된 카테고리에 parentid에 매핑 할 수 있습니다?

또한 나무를 매핑하는 데 실질적인 경험이 있거나 http://blogs.hibernatingrhinos.com/nhibernate/archive/2008/05/14/how-to-map-a-tree-in-nhibernate.aspx을 시도 했습니까?

답변

1

부모 개체를 매핑하는 것 외에도 ParentId를 속성으로 매핑 할 수 있습니다. 아마도 ParentId를 읽기 전용으로 매핑하고 ParentId를 설정하기 위해 Parent의 설정자에 로직을 넣기를 원할 것입니다.

그러나 이것은 필요하지 않을 수 있습니다. 단일 세션에서 트리를 채우는 경우 각 부모는 데이터베이스에서 한 번만로드되고 후속 요청에서는 캐시에서 검색됩니다.

관련 문제