Selecting first 10 records, then next 10, paging using Linq

后端 未结 4 1915
一生所求
一生所求 2020-12-23 12:57

How select first 10 records, Then the next 10, Then the next 10, and so long as the array will not end.

Phrases = bannersPhrases.Select(x=>x.Phrase).Take(         


        
4条回答
  •  天涯浪人
    2020-12-23 13:38

    var total = bannersPhrases.Select(p => p.Phrase).Count();
    var pageSize = 10; // set your page size, which is number of records per page
    
    var page = 1; // set current page number, must be >= 1 (ideally this value will be passed to this logic/function from outside)
    
    var skip = pageSize * (page-1);
    
    var canPage = skip < total;
    
    if (!canPage) // do what you wish if you can page no further
       return;
    
    Phrases = bannersPhrases.Select(p => p.Phrase)
                 .Skip(skip)
                 .Take(pageSize)
                 .ToArray();
    

提交回复
热议问题