سؤال

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.

هل كانت مفيدة؟

المحلول

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.

نصائح أخرى

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);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top