码迷,mamicode.com
首页 > 其他好文 > 详细

Entity Framework 分页处理

时间:2015-02-11 15:58:19      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

在SQL中进行分页,网上已经有很多例子了,在这里我使用Linq to SQL让C#来生成分页代码,首先创建分页的扩展方法:

     public static class Extensions
    {
        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="list"> 数据源 </param>
        /// <param name="page"> 第几页 </param>
        /// <param name="size"> 每页记录数 </param>
        /// <param name="count"> 记录总数 </param>
        /// <returns></returns>
        public static IQueryable<T> Pagination<T>( this IQueryable <T> list,int page, int size, out int count)
        {
            count = list.Count();
            return list.OrderBy(t => t).Skip((page-1)*size).Take(size);
        }
    }
 
然后在程序中调用起来也很方便(只需要在linq查询中直接调用扩展方法即可):
                int count;
                var q = (from in context.WT_Tickets
                    join b in context.WT_OrderForm on a.OrderId equals b.Id
                    select new
                    {
                        BusNo = a.BusNumber,
                        OrderId = b.Id,
                        OrderDate = b.OrderDateTime,
                    }).Where(t=>t.OrderId.Length > 5).Distinct().Pagination(1, 10, out count);
                var data = q.ToList();

Entity Framework 分页处理

标签:

原文地址:http://www.cnblogs.com/ChrisLee2011/p/4286069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!