Is it possible to write IQueryable<MyObject> = query.Take(1)
or something equivalent in LINQ query syntax. I'm using C# 5 and EF 5.
How can I write Take(1) in query syntax
Asked Answered
There is no equivalent to Take
in the query expression syntax for LINQ in C#. The only methods that have query expression equivalents are
Where,
Select,
SelectMany,
Join,
GroupJoin,
OrderBy,
OrderByDescending,
ThenBy,
ThenByDescending,
GroupBy,
Cast
This is from §7.16.2 of the specification.
I didn't know there was an
Enumerable.GroupJoin
! –
Xantho No. You have to use the dot syntax for that operation. Same goes for ToList
, Count
, etc...
var query =
(from item in list
where predicate(item)
select func(item))
.Take(10);
© 2022 - 2024 — McMap. All rights reserved.
.Skip(n).Take(m)
at the end. – CalcicTake
realized the query, it should be keep separate from the logical query. – MarsupiumFrom r In query Take 2
(skip works similar) – Goshen