24

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

4

2 回答 2

25

TakeC# 中 LINQ 的查询表达式语法中没有等效项。唯一具有查询表达式等效项的方法是

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

这来自规范的§7.16.2。

于 2013-07-26T20:46:16.207 回答
20

不,您必须为该操作使用点语法。ToList,Count等也一样...

var query =
    (from item in list
     where predicate(item)
     select func(item))
    .Take(10);
于 2013-07-26T20:46:06.080 回答