当前位置: 首页 > 编程语言 > C#

PagedListwithentityframework获取所有记录分享

时间:2023-04-10 19:42:41 C#

PagedListwithentityframework获取所有记录PagedList是一个Paging库。_dbContext.Products.ToList().ToPagedList(1,25);上面的代码将获取第1页数据库中的前25条记录。问题是ToList()调用将获取数据库中的所有记录。然后ToPageList()调用将选择前25条记录。如何将EF与PagedList一起使用,以便只获取数据库中的前25条记录?不获取所有记录,然后取前25条记录。PS:我应该自己写Paging库还是使用在线库?请给我推荐任何其他图书馆。其实你是在做ToList(),所以查询才会执行,延迟执行就不再延迟了。您可以在不调用ToList()的情况下尝试它,但这完全取决于ToPagedList(int,int)方法的实现。你可以自己做分页。constintpageSize=25;constintpageNumber=1;IQueryable查询=_dbContext.Products;varpagedQuery=query.Skip(pageSize*(pageNumber-1)).Take(pageSize).ToList();此逻辑隐藏在IQueryable上的扩展方法后面。publicstaticclassIQueryableExtensions{publicstaticIQueryableToPagedQuery(thisIQueryablequery,intpageSize,intpageNumber){returnquery.Skip(pageSize*(pageNumber-1)).Take(pageSize);}}最简单的解决方案是使用AsEnumerable()但它需要排序。与ToList()不同,AsEnumerable()不会访问数据库。以上就是C#学习教程:PagedListwithentityframework获取所有记录和分享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—_dbContext.Products.OrderBy(p=>p.Id).AsEnumerable().ToPagedList(1,25);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: