Свободный Nhibernate Order-By на коллекции - PullRequest
2 голосов
/ 31 мая 2009

Если у меня есть сопоставленная коллекция в Fluent NHibernate, и я хочу применить заказ к этой коллекции, как мне это сделать?

Например:

HasMany(x => x.PastDates)
            .AsBag().Cascade
            .SaveUpdate()
            .KeyColumnNames.Add("EventId")
            .Where(e => e.DateFrom < DateTime.Now.Date)
            .Inverse();

Я ищу эквивалент атрибута order-by в файлах HBM.

Спасибо

Ответы [ 2 ]

23 голосов
/ 23 апреля 2010

Свободный NHibernate теперь имеет метод OrderBy, который вы можете использовать:

HasMany(x => x.PastDates)
        .AsBag().Cascade
        .SaveUpdate()
        .KeyColumnNames.Add("EventId")
        .Where(e => e.DateFrom < DateTime.Now.Date)
        .Inverse()
        .OrderBy("ColumnName DESC");
5 голосов
/ 31 мая 2009

Похоже, что атрибут order-by отсутствует в API FluentNHibernate. Я не вижу проблемы , так что это может быть сознательным упущением. Вы можете добавить его с помощью SetAttribute, но этому пользователю не удалось заставить его работать.

HasMany(x => x.PastDates)
        .AsBag().Cascade
        .SaveUpdate()
        .KeyColumnNames.Add("EventId")
        .Where(e => e.DateFrom < DateTime.Now.Date)
        .Inverse()
        .SetAttribute("order-by", "column_name");

Имейте в виду, что установка порядка может изменить тип коллекции , которую использует NHibernate; однако это не относится к сумкам.

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