Подтвердить что ты не робот

Как получить последние 5 записей, используя метод LINQ или выражение запроса в С#

На моей домашней странице я хочу показать недавно добавленные продукты. Я добавил ChildAction к моему контроллеру, но я не могу понять, какой запрос Linq я должен выполнить, чтобы получить последние пять записей.

4b9b3361

Ответ 1

LINQ

var lastFiveProducts = (from p in products 
                        orderby p.ProductDate descending
                        select p).Take(5);

Lambda

var lastFiveProducts = products.OrderByDescending(p => p.ProductDate).Take(5);

Что вы предпочитаете.

Ответ 2

.Skip(count - 5).take(5);

или

.Reverse().Take(5).Reverse()

Ответ 3

Самый простой способ - отменить ваше упорядочение (например, использовать orderby foo descending), а затем использовать Take(). Например:

var recentProducts = products.OrderByDescending(x => x.CreationDate)
                             .Take(5);

или в форме выражения запроса (которую я бы не использовал для простых запросов, которые легче выразить в приведенной выше форме):

var recentProducts = (from product in products
                      orderby product.CreationDate descending
                      select product).Take(5);

Ответ 4

Установите пакет MoreLINQ, затем:

CollectionName.TakeLast(5);

Ответ 5

Это для выбора последних 5 с возрастанием

var query = from tbl in  (from tbl1 in object.Table orderby
tbl1.Column descending select tbl1).Take(5)  orderby tbl.Column
ascending  select tbl;

Ответ 6

код:

INT[]number = new int[] {3,6,8,2,3,7,0,2,5}

var result= (from r in number select r).reverse().take(5);

Результат: 5 2 0 7 3