我有一个PrivateMessage
类,我希望按照CreationDate
或LastAnswerDate
按时间顺序排序用户的PM列表(取决于哪个更近)使用Criteria API。 / p>
如何在Criteria API中按最大值排序这两个属性?我的代码类似于以下内容:
var dc = DetachedCriteria.For<PrivateMessage>();
...
dc.AddOrder(new Order("???");
return (IList<PrivateMessage>)FindAll(typeof(PrivateMessage), dc);
CreationDate
为DateTime
,LastAnswerDate
为DateTime?
。
谢谢!
答案 0 :(得分:3)
Order.Desc(
Projections.Conditional(
Restrictions.GtProperty("CreationDate", "LastAnswerDate"),
Projections.Property("CreationDate"),
Projections.Property("LastAnswerDate"))))