Фильтрация только отрицательных значений с использованием проекционных запросов nhibernate
Я пытаюсь отфильтровать только отрицательные значения с помощью запросов проекции 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 меньше нуля. Но почему-то код не работает. Он не выдает никаких ошибок, но он просто не будет работать.
1 ответ
Решение
Это может быть связано с тем, что вы присваиваете своей сущности псевдоним ("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));