ASP.NET MVC实现分页查询

 public IQueryable LoadPageEntities(int pageIndex, int pageSize, out int totalCount, System.Linq.Expressions.Expression> whereLambda, System.Linq.Expressions.Expression> orderbyLambda, bool isAsc)
        {
            var temp = Db.Set().Where(whereLambda);
            totalCount = temp.Count();
            if (isAsc)//升序
            {
                //OrderBy 方法对结果集进行排序,排序依据是 orderbyLambda 参数指定的属性或条件。
                //Skip 方法跳过前面 (pageIndex - 1) * pageSize 条记录,即跳过前面的页数乘以每页的记录数。
                //Take 方法获取指定数量的记录,即取出当前页的记录。
                temp = temp.OrderBy(orderbyLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize);
            }
            else
            {
                temp = temp.OrderByDescending(orderbyLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize);
            }
            return temp;

        }

你可能感兴趣的:(asp.net,mvc,后端)