用linq获取最后一个元素到sql

时间:2011-06-07 19:36:05

标签: c# linq linq-to-sql

我有这个:

var result = (from t in MyDC
              where t.UserID == 6
              orderby t.UpdateTime
              select t.ID).Last();

基本上,我使用Linq-to-Sql并且它不支持.Last运算符。我可以检索用户的所有记录,然后使用linq到对象来获取我的值,但我想知道如何使用linq-to-sql执行此操作并仅返回一条记录。

感谢您的建议。

2 个答案:

答案 0 :(得分:37)

只需按降序排序,然后使用.First()代替:

var result = (from t in MyDC  
          where t.UserID == 6
          orderby t.UpdateTime descending
          select t.ID).First();

答案 1 :(得分:2)

如果您不知道要排序的是什么,也可以使用.Skip()和.Take()来减少返回的行数