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

Ste*_*ler 19 c# linq entity-framework take

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

jas*_*son 21

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

Where,
Select,
SelectMany,
Join,
GroupJoin,
OrderBy,
OrderByDescending,
ThenBy,
ThenByDescending,
GroupBy,
Cast
Run Code Online (Sandbox Code Playgroud)

这来自规范的§7.16.2.

  • 我不知道有一个`Enumerable.GroupJoin`! (3认同)

Tim*_*lds 13

不可以.您必须使用点语法进行该操作.同去的ToList,Count等...

var query =
    (from item in list
     where predicate(item)
     select func(item))
    .Take(10);
Run Code Online (Sandbox Code Playgroud)