private PagerList<Role> PagerList(RoleQuery query)
{
if (string.IsNullOrWhiteSpace(query.Order)) //分页必须先进行排序
query.Order = "Id desc";
query.TotalCount = _roleRepository.GetAll().Count();
IQueryable<Role> roles = GetQueryConditions(_roleRepository.GetAll(), query) //where查询条件必须放在排序和分页前,不然生成SQL有BUG
.OrderByIfOrderNullOrEmpty(query.Order)
.Skip(query.GetSkipCount())
.Take(query.PageSize);
var result = new PagerList<Role>(query);
result.AddRange(roles.ToList());
return result;
}