有个数据比较复杂,需要一次性把数据读取到内存里面。前端要求分页返回数据,这就需要用到Linq实现分页了。如何用Linq实现数据分页,请帮忙提供一个解决方案,多谢!
最佳解决方案
使用Skip和Take,可以实现,代码如下:
var pBTypeList = businessTypeList.Where(t => t.PBusinessTypeId == 0) ?? new List<HNR_BusinessType>();//主分类 List<object> parentBTypeList = new List<object>(); //10个一组 int count = pBTypeList.Count(); int pageSize = 10; int PageCount = (int)Math.Ceiling(count / (double)pageSize); for (var i = 0; i < PageCount; i++) { var list1 = pBTypeList.Skip(i * pageSize).Take(pageSize); parentBTypeList.Add(new { group = i, list = (from o in list1 select new { o.BusinessTypeId, Icon = WFG.Url(o.ItemImage), o.Title, }), }); }