public async Task <PaginationViewModel <TEntity> > SelectPageAsync(int page, int pageSize, bool includeTotalCount) { var paginationViewModel = new PaginationViewModel <TEntity>(); paginationViewModel.SetPaginationState(-1, page, pageSize); if (includeTotalCount) { paginationViewModel.Pagination.Count = await _repository.Select(_expression).CountAsync(); } if (paginationViewModel.Pagination.Count > 0) { var entities = await _repository.SelectAsync(_expression, _orderBy, _includes, _includesDotNotation, page, pageSize); paginationViewModel.AddItems(entities); } return(paginationViewModel); }