如何在查询语法中编写Take(1)

时间:2013-07-26 20:44:48

标签: c# linq entity-framework take

是否可以在LINQ查询语法中编写IQueryable<MyObject> = query.Take(1)或等效内容。我正在使用C#5和EF 5。

2 个答案:

答案 0 :(得分:18)

C#中LINQ的查询表达式语法中没有等效Take。具有查询表达式等价物的唯一方法是

Where,
Select,
SelectMany,
Join,
GroupJoin,
OrderBy,
OrderByDescending,
ThenBy,
ThenByDescending,
GroupBy,
Cast

这是来自规范的§7.16.2。

答案 1 :(得分:11)

没有。您必须使用点语法进行该操作。同样适用于ToListCount等......

var query =
    (from item in list
     where predicate(item)
     select func(item))
    .Take(10);