2010-08-19 4 views
0

여러 클래스가 기본 클래스에서 상속하는 복잡한 엔터티 구조가 있으므로 nhibernate에서 테이블 당 하위 클래스 구조를 선택합니다.하위 클래스 구조로 nHibernate 테이블에서 Linq를 사용하는 쿼리

BaseProject

나는 조건 중 하나가 ProjectType 될 위치를 검색 할
ProjectA : BaseProject 
ProjectB : BaseProject 
ProjectC : BaseProject 
ProjectD : BaseProject 

. 각 ProjectType에 대해 별도의 쿼리 사양을 쓰는 것을 피하려고합니다.

어떻게 달성 될 수 있는지 아는 사람 있습니까? Linq가 nHibernate에서 할 수있는 일조차도 아직 완료되지 않았다고 생각합니다.

나는 x => x.GetType() == typeof(ProjectTypeA)과 같은 것을 기대했지만 그렇게하지는 못했다.

답변

1

현재 Linq 공급자를 사용하여 설명 할 수있는 유일한 방법입니다. 각 하위 클래스에 의해 노출 된 NHibernate로 매핑 된 속성 (가능성이있는 열거 형)을 노출해야합니다. 유용한 트릭 중 하나는 update=false으로이 속성을 매핑하여 변경되지 않도록하는 것입니다.

비슷한 질문에 대한 답변은 here에서 볼 수 있습니다.

관련 문제