谈Linq中获取数据分页高效方法

今年6月初,刚参加工作,在公司做项目主要运用Linq 和WCF,刚开始获取数据列表和数据总记录数的时候还是用了两种方法,慢慢感觉这样效率不高。***想出一种好的方法,今天跟大家分享一下。

专注于为中小企业提供成都网站设计、网站建设、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业南城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

首先写一个Model

 
 
 
  1. /// 
  2.          /// 封装表中各个字段
  3.          /// 
  4.      public class Student
  5.      {
  6.          public Guid S_ID { get; set; }
  7.       
  8.          public string SJD_MC { get; set; }
  9.      
  10.          public DateTime S_Time { get; set; }
  11.         
  12.          public string S_BZ { get; set; }
  13.      }
  14.          /// 
  15.          ///将获得全部数据跟
  16.          /// 
  17.      public class StudentList_Count
  18.      {
  19.          /// 
  20.          ///全部数据
  21.          /// 
  22.          public List StudentList{ get; set; }
  23.          /// 
  24.          ///数据的总条数
  25.          /// 
  26.          public int StudentCount { get; set; }
  27.      }
  28.          /// 
  29.          ///分页参数
  30.          /// 
  31.      public class Student_FY : Student
  32.      {
  33.          public int PageIndex { get; set; }
  34.         
  35.          public int PageSize { get; set; }
  36.      }

然后

 
 
 
  1. public StudentList_Count StudentList(int pageIndex,int pageSize)
  2.  {
  3.              //_DB,是实例化Linq类 
  4.             var _DB = new Dal.DB_StudentDataContext();
  5.             var _Datas = from _Data in _DB.Student
  6.                              select _Data;
  7.             StudentList_Count  _DatasStuList= new StudentList_Count();
  8.             //数据总记录数
  9.             _DatasStuList.StudentCount = _Datas.Count();
  10.             //分页数据
  11.             _DatasStuList.StudentList = _Datas.Count() > 0 ? _Datas.Skip(pageIndex - 1) *pageSize).Take(pageSize).ToList() : null;
  12.             return _DatasStuList; 
  13.    }

标题名称:谈Linq中获取数据分页高效方法
本文网址:http://www.csdahua.cn/qtweb/news10/99960.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网