Nhibernate добавить фильтр к запросу

77
8

Ссылка: критерии nhibernate для выбора из разных таблиц

Исходя из этого вопроса, я хочу отфильтровать полученные последние 5 заказов на примере Unit.Amount == 5! (добавить фильтр) Я думаю, что это возможно с чем-то вроде этого:

var query = m_hibernateSession.QueryOver<Model.Order>()
// .Where(x => x.Units[].Amount == 5) ... // which Unit to select in this list?
.OrderBy(x => x.PONumber).Desc.Take(5);

Может ли кто-нибудь помочь мне найти правильный запрос?

Спасибо

спросил(а) 2021-01-25T19:05:28+03:00 4 месяца, 3 недели назад
1
Решение
63

Использование соединения должно решить вашу проблему

Order orderAlias = null;
Unit unitsAlias = null;
var query = session.QueryOver<Order>(() => orderAlias)
.JoinAlias(() => orderAlias.Units, () => unitsAlias, JoinType.InnerJoin)
.Where(() => unitsAlias.Amount == 5)
.OrderBy(x => x.PONumber).Desc.Take(5);

ответил(а) 2021-01-25T19:05:28+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема