在进行数据查询的时候我们有真分页和假分页两种,所谓真分页就是按照根据pageIndex(当前页码)和pageSize(每页的记录条数)去数据库中查找响应的记录,而假分页呢就是先把数据的所有记录都查出来,然后在自己去截取其实截取的过程是一样的,只不过一个是在数据库中进行,一个是在我们的逻辑代码中进行。下面给大家介绍一种分页写法,让大家更好的使用lambda语句,并且能更好的理解分页查询。
#region 多条件搜索用户信息 public IQueryable<UserInfo>SearchUserInfo(Model.SearchParam.UserInfoSearch userInfoSerachParam) { //加载所有信息 var temp =this.DbSession.UserInfoDal.LoadEntities(c=>true); if(!string.IsNullOrEmpty(userInfoSerachParam.UserName)) { //进行条件筛选(根据姓名筛选) temp =temp.Where<UserInfo>(c =>c.UserName.Contains(userInfoSerachParam.UserName)); } if(!string.IsNullOrEmpty(userInfoSerachParam.UserMail)) { //进行条件筛选(根据邮箱筛选) temp =temp.Where<UserInfo>(c=>c.Email.Contains(userInfoSerachParam.UserMail)); } //总记录条数 userInfoSerachParam.TotalCount =temp.Count(); //截取当前PageIndex 下的PageSize条记录 return temp.OrderBy<UserInfo,int>(c => c.ID).Skip<UserInfo>((userInfoSerachParam.PageIndex - 1)*userInfoSerachParam.PageSize).Take<UserInfo>(userInfoSerachParam.PageSize); } #endregion
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-02 23:37:27