使用nhibernate投影查询仅过滤负值
我尝试使用nhibernate投影查询仅过滤负值。下面是我的代码使用nhibernate投影查询仅过滤负值,nhibernate,nhibernate-criteria,nhibernate-projections,Nhibernate,Nhibernate Criteria,Nhibernate Projections,我尝试使用nhibernate投影查询仅过滤负值。下面是我的代码 SearchTemplate RefundTemplate = new SearchTemplate(); RefundTemplate.Criteria = DetachedCriteria.For(typeof(AirBilling), "Ab"); RefundTemplate.Criteria.Add(NHibernate.Criterion.Expression.Eq("P
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且总值小于零的所有记录。但不知何故,代码不起作用。它不会抛出任何错误,但根本不起作用。这可能是因为您为实体提供了一个别名(“Ab”),因此,当您引用属性时,需要在它们前面加上别名,例如:Expression.Eq(“Ab.PaymentType”,“CK”) 试试这个:
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));
“行不通”是什么意思?它不返回任何内容,它返回的账单总额超过0,什么?我的意思是,它不会抛出任何错误,但也不会过滤任何数据。