Фильтрация только отрицательных значений с использованием проекционных запросов 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));
Другие вопросы по тегам