NHibernate Criteria API - 最多订购两个属性

时间:2010-10-11 09:35:58

标签: nhibernate sql-order-by nhibernate-criteria

我有一个PrivateMessage类,我希望按照CreationDateLastAnswerDate按时间顺序排序用户的PM列表(取决于哪个更近)使用Criteria API。 / p>

如何在Criteria API中按最大值排序这两个属性?我的代码类似于以下内容:

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

CreationDateDateTimeLastAnswerDateDateTime?

谢谢!

1 个答案:

答案 0 :(得分:3)

Order.Desc(
    Projections.Conditional(
        Restrictions.GtProperty("CreationDate", "LastAnswerDate"),
        Projections.Property("CreationDate"),
        Projections.Property("LastAnswerDate"))))