2 u011597071 u011597071 于 2016.01.31 02:17 提问

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

caozhy
caozhy   Ds   Rxr 2016.01.31 06:25

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

caozhy
caozhy   Ds   Rxr 2016.01.31 06:26

晕,1==1这个也不对

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!