0

条件付き予測クエリを使用して、現金とクレジットカードの合計を別々に計算する必要があるという要件があります。以下のコードは機能せず、データ型の不一致エラーが発生します。これは、真の条件が小数を返し、偽の条件が通貨を返すことを示しています。0.0Mは小数を表すので、なぜそれが行われるのかわかりません。誰かが質問を手伝ってくれませんか?

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"));
4

1 に答える 1

3

使用するタイプを明示的に指定できます。例えば:

Projections.Constant(0.0M, NHibernateUtil.Decimal)

NHibernateUtilこちらのクラスのドキュメントを参照してください:http: //elliottjorgensen.com/nhibernate-api-ref/NHibernate/NHibernateUtil.html

于 2012-07-02T06:59:45.260 に答える