0

쿼리 결과를 정수 목록에 투영하려고합니다. 어떻게 그 일을합니까? 어떤 변압기를 사용해야합니다. AliasToBean은 setter가 필요하므로 작동하지 않습니다.NHibernate projections : QueryOver를 int리스트에 투영하는 방법은 무엇입니까?

var accessFeeYears = _session.QueryOver<AgreementAccessFee>() 
         .JoinAlias(a => a.FeeType,() => agreementAccessFeeTypeAlias) 
         .Where(x => x.Agreement.Id == request.AgreementId 
                  && agreementAccessFeeTypeAlias.Code ==AgreementAccessFeeTypeCode.FlatChargePerInsured) 
         .SelectList(list => list 
             .Select(a => a.PolicyYear).WithAlias(() =>policyYear)) 
         .TransformUsing(Transformers.??????) 
         .List<int>(); 

답변

2

또 다른 방법 :

_session.QueryOver<AgreementAccessFee>() 
    .JoinAlias(a => a.FeeType,() => agreementAccessFeeTypeAlias) 
    .Where(x => x.Agreement.Id == request.AgreementId 
     && agreementAccessFeeTypeAlias.Code == AgreementAccessFeeTypeCode.FlatChargePerInsured) 
    .SelectList(list => list 
     .Select(a => a.PolicyYear)) 
    .List<int>(); 

(모두 함께 TransformUsing 제거)
0

옵션을 살펴본 후 PassShrough가 정상적으로 작동하는 것처럼 보였습니다.

관련 문제