NHibernate投影:如何将QueryOver投影到int列表中?
正在尝试将查询结果投影到整数列表中。你是怎么做到的?应该使用什么变压器。AliasToBean不工作,因为它需要setterNHibernate投影:如何将QueryOver投影到int列表中?,nhibernate,queryover,nhibernate-projections,Nhibernate,Queryover,Nhibernate Projections,正在尝试将查询结果投影到整数列表中。你是怎么做到的?应该使用什么变压器。AliasToBean不工作,因为它需要setter var accessFeeYears = _session.QueryOver<AgreementAccessFee>() .JoinAlias(a => a.FeeType, () => agreementAccessFeeTypeAlias) .Wh
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>();
var accessfeeeyears=\u session.QueryOver()
.JoinAlias(a=>a.FeeType,()=>agreementAccessFeeTypeAlias)
.其中(x=>x.Agreement.Id==request.AgreementId
&&agreementAccessFeeTypeAlias.Code==AgreementAccessFeeTypeCode.FlatChargePerInsured)
.SelectList(list=>list
.Select(a=>a.PolicyYear).with别名(()=>PolicyYear))
.变压器使用(变压器)
.List();
这很简单,在查看了选项后,PassThrough看起来可以工作,它确实可以。另一种方式:
_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>();
\u session.QueryOver()
.JoinAlias(a=>a.FeeType,()=>agreementAccessFeeTypeAlias)
.其中(x=>x.Agreement.Id==request.AgreementId
&&agreementAccessFeeTypeAlias.Code==AgreementAccessFeeTypeCode.FlatChargePerInsured)
.SelectList(list=>list
.选择(a=>a.PolicyYear))
.List();
(一起使用摆脱转换)