어리석은 nHibernate 멍청한 질문,하지만 어디서나 대답을 찾을 수 없습니다 ...nHibernate 표현식을 중첩 테이블과 일치 시키시겠습니까?
"제품"클래스가 성공적으로 제품 테이블 및 "sku"클래스에 매핑되었습니다. Sku는 "제품"의 하위 객체이고 DB의 두 테이블은 기본 키로 관련됩니다.
지금까지 모든 기본 nHibernate 구성 요소가 작동합니다. 데이터베이스에 대해 CRUD 연산을 성공적으로 실행할 수 있습니다. 나는 ... ... 같이 성공적으로
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Product) _
.Add(Expression.Like("Name", nameSearchString)) _
.List()
을 표현 기반으로 쿼리를 만들 수 있습니다 그리고 그 결과는 성공적으로 예상 SKU의 자식 개체를 노출 제품 객체의 목록입니다. 에서
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Product) _
.Add(Expression.Like("SkuCode", skuSearchString)) _
.List()
결과 "속성을 확인할 수 없습니다 : SkuCode가의 : 제품"
이 작동 : 나는 SKU 테이블에서 필드 이름에서 검색 위의 코드를 시도 할 경우, NHibernate에 오류가 발생
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Sku _
.Add(Expression.Like("SkuCode", skuSearchString)) _
.List()
하지만 놀랍지 만 제품 오브젝트가 필요한 반면 Sku 오브젝트 만 반환합니다.
Dim results As ArrayList = session.CreateCriteria(Of DataTransferObjects.Product) _
.Add(Expression.Like("Name", nameSearchString)) _
.CreateCriteria("Skus").Add(Expression.Like("SkuCode", skuSearchStrung)) _
.List()
을하지만 첫 번째 표현식이
가 어떻게이 SKU 테이블의 필드에 대해 Expression.Like을 실행할 수있는 유효한 경우에도, 전혀 아무 것도 반환하지 않습니다 :
이것은 또한 컴파일?