0
조건부 투영 쿼리를 사용하여 현금 및 신용 카드의 총계를 별도로 계산해야하는 요구 사항이 있습니다. 내 아래 코드가 작동하지 않으며 그것은 내게 데이터 형식 불일치 오류를 제공합니다. 그것의 진짜 조건은 십진법과 거짓 반환 통화를 반환합니다. 0.0M이 10 진수를 나타내는 이유는 확실하지 않습니다. 아무도 나를 도와 주실 수 있습니까?NHIbernate 조건부 프로젝션 쿼리
RefundTemplate.Criteria.SetProjection(
Projections.ProjectionList()
.Add(Projections.Sum(Projections.Conditional
(Restrictions.Eq("PaymentType", "CK"),
Projections.Property("Gross"), Projections.Constant(0.0M))), "CashRefund")
.Add(Projections.Sum(Projections.Conditional
(Restrictions.Eq("PaymentType", "CC"),
Projections.Property("Gross"), Projections.Constant(0.0M))), "CreditRefund"));
.... Projections.Conditional ( Restrictions.IsNotNull :
여기
NHibernateUtil
클래스에 대한 설명서를 참조하십시오 투영법 .Constant (string.Empty, NHibernateUtil.String) ), 투영법. 캐스트 (NHibernateUtil.String, Projections.Property() => model.Name)), 투영법. –