从Linq Query语法转换为Method语法

时间:2016-10-22 14:10:51

标签: linq c#-4.0

我有如下所示的查询。我需要从LINQ query syntax更改为method syntax

(from item in list.OrderByDescending(x => x.id)
                  .ThenByDescending(x => x.amount)
                   where item.active == false select item)
                  .FirstOrDefault();
你可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

list.Where(x => !x.Active)
    .OrderbyDescending(x => x.id)
    .ThenByDescending(x => x.amount)
    .FirstOrDefault();

如果项目未处于活动状态,则对项目进行排序是没有意义的,因此Where子句首先出现。

如您所希望的那样,不需要Select语句。