• linq to list 时报错.ToList() 其他信息: Count 必须具有非负值。


    EF分页方法提示出错,错误代码:

    public  List<T> GetPageList<Tkey>(int pageIndex, int pageSize, ref int rowCount,
                Expression<Func<T, bool>> whereLambda, Expression<Func<T, Tkey>> orderLambda, bool isAsc = true)
            {
                rowCount = db.Set<T>().Where(whereLambda).Count();
                if(isAsc)
                {
                   return db.Set<T>().Where(whereLambda).OrderBy(orderLambda).Skip((pageIndex) - 1 * pageSize).Take(pageSize).ToList();
                }
                else
                {
                    return db.Set<T>().Where(whereLambda).OrderByDescending(orderLambda).Skip((pageIndex) - 1 * pageSize).Take(pageSize).ToList();
                }
            }

     报错截图

     错误原因:

    Skip()的参数出错了,参数为负值,就抛出异常了,仔细检查一下计算跳过记录数的语句,发现Skip((pageIndex) - 1 * pageSize)语句有错。

    改为:Skip((pageIndex - 1) * pageSize)后调试成功。

    转载文章链接已标明,如有侵权请告知。文章仅作为知识记忆所用,如有错误,敬请指正。
  • 相关阅读:
    SQL语句大全
    网页常用小技巧
    卡通时钟代码
    舒服的颜色2
    静态代码
    Hibernate工作原理
    SQl多表查询优化 高效率SQL语句
    Hibernate API、对象状态、HQL、Criteria
    MySQL 学习笔记
    intramart知识
  • 原文地址:https://www.cnblogs.com/YorkZhangYang/p/12904143.html
Copyright © 2020-2023  润新知