Упорядочить по количеству записей в субколлекции - PullRequest
0 голосов
/ 29 февраля 2012

Я пытаюсь преобразовать старый код в Fluent Nhibernate.

Старый код:

allOrders.OrderBy(x => x.OrdersLineItems.Count);

Как мне преобразовать его во что-то вроде:

query.AddOrder(new Order(????, true));

Возможно ли это вообще?

Заранее спасибо

ОБНОВЛЕНИЕ: Вот упрощенный код, который я пытаюсь написать:

ICriteria query = FluentSessionManager.GetSession().CreateCriteria<Orders>()
     .AddOrder(new Order(????, true));

Объединенная таблица - OrdersLineItems.Мне нужно установить порядок по количеству позиций.Поскольку я использую пейджинг с набором данных, который содержит более 500 000 записей, просто извлекать все записи в память и затем сортировать их не будет.

Заранее спасибо.

1 Ответ

0 голосов
/ 03 марта 2012
ICriteria query = FluentSessionManager.GetSession().CreateCriteria<Orders>()
   .CreateAlias("this.OrderLineItems", "oli")
   .AddOrder(new Order(Projections.Count("oli.Id"), true));

Нечто подобное я должен подумать. Возможно, он не идеален, но, по крайней мере, иллюстрирует, что вам нужно использовать Projection.Count, чтобы сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...