У меня есть запрос LINQ:
var list = from t in ctn.Items
where t.DeliverySelection == true && t.Delivery.SentForDelivery == null
orderby t.Delivery.SubmissionDate
select t;
Как я могу изменить этот запрос, чтобы выбрать только пять результатов из базы данных?
Ответы:
источник
take
только первые 5 строк из базы данных?Решение:
источник
Этого также можно добиться, используя подход Linq на основе лямбды;
источник
[Предлагает несколько более описательный ответ, чем ответ, предоставленный @Ajni .]
Этого также можно добиться, используя свободный синтаксис LINQ :
Обратите внимание , что каждый метод (
Where
,OrderBy
,Take
), встречающейся в этом заявлении LINQ принимает лямбда - выражение в качестве аргумента. Также обратите внимание, что документация дляEnumerable.Take
начинается с:источник
Additional information
Иногда необходимо связать модель в представление модели и выдать ошибку преобразования типа . В этой ситуации вы должны использовать
ToList()
метод.источник
Просто думая, что вы можете быть незнакомы с последовательностью From-> Where-> Select, как в сценарии SQL, это похоже на Select-> From-> Where.
Но вы можете не знать, что внутри Sql Engine он также разбирается в последовательности « From-> Where-> Select ». Чтобы проверить это, вы можете попробовать простой скрипт
и он не будет работать, причина в том, что движок будет анализировать Where перед Select , поэтому он не будет знать псевдоним i в where . Чтобы сделать эту работу, вы можете попробовать
источник