0

nhibernate プロジェクション クエリを使用して負の値のみをフィルタリングしようとしています。以下は私のコードです

SearchTemplate RefundTemplate = new SearchTemplate();
            RefundTemplate.Criteria = DetachedCriteria.For(typeof(AirBilling), "Ab");
            RefundTemplate.Criteria.Add(NHibernate.Criterion.Expression.Eq("PaymentType", "CK"));
            RefundTemplate.Criteria.Add(NHibernate.Criterion.Restrictions.Lt("Gross",0));

基本的に、AirBilling テーブルから PaymentType CK と Gross 値がゼロ未満のすべてのレコードを取得しようとしています。しかし、どういうわけかコードは機能しません。エラーはスローされませんが、単に機能しません。

4

1 に答える 1

2

これは、エンティティにエイリアス ("Ab") を与えていることが原因である可能性があるため、プロパティを参照するときにエイリアスを前に付ける必要があります。

これを試して:

SearchTemplate RefundTemplate = new SearchTemplate();
RefundTemplate.Criteria = DetachedCriteria.For(typeof(AirBilling), "Ab");
RefundTemplate.Criteria.Add(NHibernate.Criterion.Expression.Eq("Ab.PaymentType", "CK"));
RefundTemplate.Criteria.Add(NHibernate.Criterion.Restrictions.Lt("Ab.Gross",0));
于 2012-06-20T08:46:31.210 に答える