Существует ли способ использовать SetMaxResult () на запросе sub? Я пишу запрос для возврата всех объектов порядка, принадлежащих новому порядку. Таким образом, я должен ограничить количество записей на запросе sub.
Эквивалентный sql смотрит что-то как:
SELECT i.*
FROM tbl_Orders o
JOIN tbl_OrderItems i on i.OrderId = o.Id
WHERE
o.Id in (SELECT TOP 1 o.Id FROM tbl_Orders o orderby o.Date desc)
Я использую hql конкретно, потому что API критериев не позволяет Вам проект другой объект области (Запросы Im на заказах, но хочет возвратить объекты порядка),
Я знаю, что hql не принимает "ИЗБРАННЫЙ TOP", но если я буду использовать SetMaxResult (), то он будет относиться к внешнему запросу, не подзапросу.
Какие-либо идеи?
Просто запросите ордера (и используйте SetMaxResult) и сделайте "fetch join", чтобы убедиться, что все элементы ордера для выбранных ордеров загружены немедленно. По возвращаемым ордерам вы можете получить доступ к элементам ордера без этого, в результате чего в базу данных будет отправлен новый SQL-оператор.