首页 > 代码库 > MVC个人认为的终极分页
MVC个人认为的终极分页
//传入要查询的字段,查询条件(例如根据姓名查看数据的数据筛选),排序参数,页码,信息条数 //T:要操作的类型 //Tkey:根据什么类型来排 //Skip:跳过多少条 //Take:获得多少条 //Total:返回的信息总数 //isAsc:用户指定升降序 //使用Expression是因为这个方法的重载属于IQueryable方式 //这样的查询分页较为灵活,不因为类型而受限,你可传入一个学生类、一个教师类,或者一个其他类,之后查询的也是相关类的内容并且分页 //Expression<Func<T, dynamic>>这里传入的是一个student类,返回的如果是T的话就只能得到student里面所有的属性。但是如果写的是dynamic,就会是运行时返回一个指定列 的查询 static List<dynamic> GetPageList<T, Tkey>(Expression<Func<T, dynamic>> select1, Expression<Func<T, bool>> where, Expression<Func<T, Tkey>> order, int pageSize, int pageIndex, out int total, bool isAsc) where T : class { //Ef空间 DBTestEntities context = new DBTestEntities(); total = context.Set<T>().Where(where).Count(); var result = context.Set<T>().Where(where); //升降序判断 if (isAsc) { result = result.OrderBy(order); } else { result = result.OrderByDescending(order); } //Tolist:可以避免linq的延时加载 return result.Skip((pageIndex - 1) * pageSize).Take(pageSize).Select(select1).ToList(); }
复制粘贴即可使用,多谢传智
MVC个人认为的终极分页
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。