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

.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个回答

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

晕,1==1这个也不对

 List<Goods> list = BaseDAL<Goods>.SelectByPaged(1, 10, x => x.字段 == 什么, x => x.排序字段).ToList();
  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();
                }
            }
        }

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐