Search code examples
c#.netlinqpagination

Linq Paging using Skip and Take returning wrong result


var queryResultPage = eventsResults.Results
                .Skip(pageParameters.PageSize * pageParameters.CurrentPageNumber)
                .Take(pageParameters.PageSize).ToList();

var queryResultPage = eventsResults.Results.Skip(10* 1).Take(10).ToList();

Now if the number of objects in Results is 16 this Linq query is returning only 6 result, where it should have returned 10.


Solution

  • This fixed My error -

      var queryResultPage = eventsResults.Results
                    .Skip(pageParameters.PageSize * (pageParameters.CurrentPageNumber - 1))
                    .Take(pageParameters.PageSize).ToList();