是否可以在LINQ查询语法中编写IQueryable<MyObject> = query.Take(1)
或等效内容。我正在使用C#5和EF 5。
答案 0 :(得分:18)
C#中LINQ的查询表达式语法中没有等效Take
。具有查询表达式等价物的唯一方法是
Where,
Select,
SelectMany,
Join,
GroupJoin,
OrderBy,
OrderByDescending,
ThenBy,
ThenByDescending,
GroupBy,
Cast
这是来自规范的§7.16.2。
答案 1 :(得分:11)
没有。您必须使用点语法进行该操作。同样适用于ToList
,Count
等......
var query =
(from item in list
where predicate(item)
select func(item))
.Take(10);