public async Task <IPagedList <Customer> > ListAsync(QueryStringParameters parameters) { var query = context.Customer .Include(c => c.CustomerAddress) .ThenInclude(ca => ca.Address) as IQueryable <Customer>; query = parameters.Filter(query); query = parameters.Search(query); query = parameters.OrderBy(query); var pagedList = await query.ToPagedListAsync(parameters.PageNumber, parameters.PageSize); return(pagedList); }