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

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

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

首先写一个Model

  1. /// <summary>  
  2.          /// 封装表中各个字段  
  3.          /// </summary>  
  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.          /// <summary>  
  15.          ///将获得全部数据跟  
  16.          /// </summary>  
  17.      public class StudentList_Count  
  18.      {  
  19.          /// <summary>  
  20.          ///全部数据  
  21.          /// </summary>  
  22.          public List<Student> StudentList{ get; set; }  
  23.          /// <summary>  
  24.          ///数据的总条数  
  25.          /// </summary>  
  26.          public int StudentCount { get; set; }  
  27.      }  
  28.          /// <summary>  
  29.          ///分页参数  
  30.          /// </summary>  
  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.    } 

原文链接:http://www.cnblogs.com/jessewong/archive/2012/09/18/2690049.html

责任编辑:林师授 来源: 博客园
相关推荐

2009-12-23 09:04:41

LINQ通用分页

2009-09-17 09:24:57

Linq实现分页

2011-06-20 16:02:30

Oracle分页

2012-07-23 14:30:33

Oracle

2018-12-25 16:30:15

SQL Server高效分页数据库

2009-09-17 08:47:00

Linq插入数据

2010-06-17 09:30:44

LINQ to SQL

2011-03-14 15:47:33

Oracle数据库

2009-09-14 16:41:23

LINQ To XML

2009-09-09 13:18:26

Linq Submit

2009-08-24 10:25:45

C#获取逻辑硬盘

2009-09-09 09:59:08

Linq调用LoadP

2012-11-09 10:47:21

LINQ

2009-09-15 23:21:17

Linq插入数据

2010-09-14 10:47:45

sql server存

2009-09-14 10:45:33

LINQ删除数据

2009-09-11 10:20:36

Linq扩展方法

2009-09-17 11:29:50

Linq扩展方法

2009-09-15 16:44:44

Linq排序

2009-05-11 10:40:36

.NETLINQforeach
点赞
收藏

51CTO技术栈公众号