如何使用Castle ActiveRecord获取最新对象

时间:2011-09-22 13:46:10

标签: castle-activerecord

我有一个OrderDetails对象表,我想获得数据库中最新Order的OrderNumber,即具有最高OrderDetailsID的Order。 在SQL中,我可以执行以下操作:

  

从OrderDetailsID desc

的orderdetails命令中选择Top 1 OrderNumber

我如何使用ActiveRecord获取相同的东西,我应该在FindOne(...)调用中指定Criteria?

1 个答案:

答案 0 :(得分:1)

ActiveRecord.AsQueryable<OrderDetails>()
    .OrderByDescending(o => o.OrderDetailsID).First().OrderNumber

我不能做得更短:)你也可以这样做:

FindFirst(typeof (OrderDetails), 
    new[] {NHibernate.Criterion.Order.Desc("OrderDetailsID")}, null).OrderNumber;