Linq分页

 1   public IQueryable<UserInfo> LoadPageuserInfos<S>(int pageSize, int pageIndex, out int total,
 2            Func<UserInfo, bool> wherelambda, Func<UserInfo, S> orderbyLambda, bool isasc)
 3        {
 4            total = db.UserInfo.Where(wherelambda).Count();
 5 
 6            if (isasc)
 7            {
 8                return db.UserInfo.Where(wherelambda).OrderBy<UserInfo, S>(orderbyLambda)  //OrderBy 看定义;<UserInfo, S> ,UserInfo 可以根据
 9              .Skip(pageSize * (pageIndex - 1))
10              .Take(pageSize).AsQueryable();
11            }
12            else
13            {
14                return db.UserInfo.Where(wherelambda).OrderByDescending<UserInfo, S>(orderbyLambda)
15              .Skip(pageSize * (pageIndex - 1))
16              .Take(pageSize).AsQueryable();
17            }
18        }

今天在写分页的时候,我才考虑,在orderby和orderbyDescending后面的<TSourse,Tkey>需不需要添加,我看了网上写的,所以就记下来了;

 public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector) {
            return new OrderedEnumerable<TSource, TKey>(source, keySelector, null, false);
        }

上面的是F12 orderby方法的定义;后面的TSourse根据泛型接口的时候,就已经定义,

IQueryable<UserInfo> LoadPageuserInfos<S>  UserInfo-》TSourse ,S-》TKey所以后面可以不用再定义,直接使用OrderBy()......;

转载于:https://www.cnblogs.com/zychengzhiit1/p/3815331.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值