u011597071
银果
采纳率50%
2016-01-30 18:17

用个EF框架的泛形类(BaseDal),按条件查询 的方法,排序的lambda表达式不知道写

1
  • mvc

.net的mvc开发中,我用了一个EF框架的泛形类(BaseDal),我在里面写了一个按条件查询
的方法,但是那个排序的lambda表达式我不知道写

 public static List<T> GetPageListBy<TKey>(int pageIndex, int pageSize, ref int rowCount, System.Linq.Expressions.Expression<Func<T, bool>> selectWhere, System.Linq.Expressions.Expression<Func<T, TKey>> orderLambda, bool isAsc = true)
        {
            using (Mvc_TaoBaoEntities db = new Mvc_TaoBaoEntities())
            {
                rowCount = db.Set<T>().Where(selectWhere).Count();
                if (isAsc)
                {
                    return db.Set<T>().Where(selectWhere).OrderBy<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                }
                else
                {
                    return db.Set<T>().Where(selectWhere).OrderByDescending<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                }
            }
        }

调用的方法
List list = BaseDAL.SelectByPaged(1, 10, 1 == 1, "lambda表达式的排序语句").ToList();

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    晕,1==1这个也不对

     List<Goods> list = BaseDAL<Goods>.SelectByPaged(1, 10, x => x.字段 == 什么, x => x.排序字段).ToList();
    
    点赞 2 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    List list = BaseDAL.SelectByPaged(1, 10, 1 == 1, x => x.id).ToList(); //比如按照id排序

    点赞 2 评论 复制链接分享
  • u011597071 银果 5年前

    在线等回答,大神进来帮忙啊

    点赞 评论 复制链接分享
  • u011597071 银果 5年前
      public static List<T> GetPageListBy<TKey>(int pageIndex, int pageSize, ref int rowCount, System.Linq.Expressions.Expression<Func<T, bool>> selectWhere, System.Linq.Expressions.Expression<Func<T, TKey>> orderLambda, bool isAsc = true)
            {
                using (Mvc_TaoBaoEntities db = new Mvc_TaoBaoEntities())
                {
                    rowCount = db.Set<T>().Where(selectWhere).Count();
                    if (isAsc)
                    {
                        return db.Set<T>().Where(selectWhere).OrderBy<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                    }
                    else
                    {
                        return db.Set<T>().Where(selectWhere).OrderByDescending<T, TKey>(orderLambda).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                    }
                }
            }
    
    点赞 评论 复制链接分享

相关推荐