API NHibernate Criteria - порядок максимум из двух свойств - PullRequest
1 голос
/ 11 октября 2010

У меня есть класс PrivateMessage, и я хочу получить список PM для пользователя, отсортированный в хронологическом порядке либо по CreationDate или LastAnswerDate (в зависимости от того, что является более поздним) с использованием Criteria API.

Как отсортировать по максимуму эти два свойства в Criteria API? Мой код выглядит следующим образом:

var dc = DetachedCriteria.For<PrivateMessage>();
...
dc.AddOrder(new Order("???");
return (IList<PrivateMessage>)FindAll(typeof(PrivateMessage), dc);

CreationDate равно DateTime, а LastAnswerDate равно DateTime?.

Спасибо!

1 Ответ

3 голосов
/ 11 октября 2010
Order.Desc(
    Projections.Conditional(
        Restrictions.GtProperty("CreationDate", "LastAnswerDate"),
        Projections.Property("CreationDate"),
        Projections.Property("LastAnswerDate"))))
...