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

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

在C#中没有与LINQ的查询表达式语法相同的内容。 具有查询表达式等价物的唯一方法是

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

这来自规范的§7.16.2。

不可以。您必须使用点语法进行该操作。 ToListCount等也一样……

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