LINQ分页和排序,skip和Take 用法

dbconn.BidRecord.OrderBy(p=>p.bid_id).ToList<BidRecord>().OrderBy(p => p.bid_id).Skip(skip).Take(take).ToList<BidRecord>();

上面就是分页带排序的方法。

说一下问什么这样做

dbconn 是Modle的对象

BidRecord 是一个实体

P=〉p.bid_id 是排序的条件

OrderBy 是排序(后面是条件)然后要查询所有的,在所有的数据中在查询你要分页的数据,skip是在分页在前有多少条数据,也就是在当前页数据之前的数据总和, (跳过序列中指定数量的元素,然后返回剩余的元素。)pageSize*(pageIndex-1),Take 是返回多少条数据,也就是pageSize!

2.关于Linq排序的问题:

linq中orderby 默认是升序(A-〉Z),可以添加 descending指定为降序(Z-〉A)

order by n descending

3.对出错信息:LINQ to Entities 不支持指定的类型成员“Date”。只支持初始值设定项、实体成员和实体导航属性。解决方案

  

DateTime date=DateTime.Parse(transDate);
                    data = data.Where(p => EntityFunctions.DiffDays(p.TranDate,date)==0);

4.linq里不能有方法

5.datatable使用groupby进行分组统计 [2]

如果要使用group by的话,可以使用linq,这是C#3.0的内容。给你个示例

static void Main(string[] args)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("A");
    dt.Columns.Add("B");
    dt.Columns.Add("C");
    dt.Rows.Add("a1", "b1", "c1");
    dt.Rows.Add("a1", "b2", "c2");
    dt.Rows.Add("a2", "b3", "c3");
    dt.Rows.Add("a3", "b4", "c4");
    dt.Rows.Add("a1", "b5", "c5");
    dt.Rows.Add("a2", "b6", "c6");
    IEnumerable<IGrouping<string, DataRow>> result = dt.Rows.Cast<DataRow>().GroupBy<DataRow, string>(dr => dr["A"].ToString());//按A分组
    foreach (IGrouping<string, DataRow> ig in result)
    {
        Console.WriteLine("当A="+ig.Key + ":");
        Console.WriteLine("A".PadRight(10) + "B".PadRight(10) + "C".PadRight(10));
        Console.WriteLine("=====".PadRight(10) + "=====".PadRight(10) + "=====".PadRight(10));
        foreach (var dr in ig)
            Console.WriteLine(dr["A"].ToString().PadRight(10) + dr["B"].ToString().PadRight(10) + dr["C"].ToString().PadRight(10));

    }
    Console.Read();
}

时间: 2025-01-06 07:13:44

LINQ分页和排序,skip和Take 用法的相关文章

应用程序框架实战二十四:基础查询扩展 - 分页与排序

上一篇介绍了IQueryable的Where方法存在的问题,并扩展了一个名为Filter的过滤方法,它是Where方法的增强版.本篇将介绍查询的另一个重要主题——分页与排序. 对于任何一个信息系统,查询都需要分页,因为不可能直接返回表中的所有数据. 如果直接使用原始的Ado.Net,我们可以编写一个通用分页存储过程来进行分页查询,然后通过一个DataTable返回给业务层.不过进入Entity Framework时代,分页变得异常简单,通过Skip和Take两个方法配合就可以完成任务. 为了让分

扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView

最近项目View层越来越趋向于无刷新化,特别是数据展示方面,还要对Linq有很好的支持.在WebFrom模式的开发中,GridView是一个功能很强大,很常用的控件,但是他也不是完美的,没有自带的无刷新和排序(有人说UpdatePanel或第三方插件就可以实现无刷新,但是呵呵...那是重量级的无刷新实现,相信不少朋友和我一样讨厌UpdatePanel,引入一大堆很长的js库且不说,用起来感觉不到一点无刷新带来的快速),也不支持部分数据绑定分页(有人说部分数据绑定也可以用aspNetPager等第

动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版

一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF 在做多条件搜索时 都有这类似的代码 这样有几个不好的地方 1.当增加查询条件,需要改代码,对应去写相应的代码. 2.对多表查询以及or的支持 不是很好.而我们很常见的需求不可能是一个表的查询 3. 这样写表示层直接出现 了SQL语句 或者 linq 的拉姆达表达式  这是很不好的 表示层不应该知道数

LINQ系列:LINQ to SQL Take/Skip

1. Take var expr = context.Products .Take(10); var expr = (from p in context.Products select p) .Take(10); SELECT TOP (10) [c].[ProductID] AS [ProductID], [c].[CategoryID] AS [CategoryID], [c].[ProductName] AS [ProductName], [c].[UnitPrice] AS [UnitP

Linq分页

/// <summary> /// Linq分页 /// </summary> int pagesize = 2;//每页条数 int recordcount = 0;//总条数 int pageindex = 1;//当前第几页 public static string con = ConfigurationManager.ConnectionStrings["MySQLDBConnectionString"].ConnectionString; GuestB

Linq 分页不可缺少的两个方法

//LINQ分页的方法 //1.获取总页数 public int GetPageCount(int pageSize)//pageSize是每页的行数 { //先查出总共有多少行 int rowCount = this._Context.car.Count(); //页数=总行数/每页行数 int pageCount =(int) Math.Ceiling(1.0 * rowCount / pageSize); return pageCount; } //2.查询出指定页的数据 public L

Mvc Linq 分页 参考PagedList

第一次写博客 写的不好各位大神多多包涵. 我的分页主要是针对Linq 分页来写的,针对IEnumerable<T>  和 IQueryable<T> 类型数据分页. 开始上代码 创建接口: public interface IPagedList { /// <summary> /// 总记录数 /// </summary> int TotalCount { get; set; } /// <summary> /// 总页数 /// </su

MongDB基础学习(五)——投影,分页,排序,聚合

MongDB基础学习(五)--投影,分页,排序,聚合 基础语法的学习 马上就要过年啦,明天也是情人,后天就要放假啦,希望自己能够在放假前把五和六的章节写完.很高兴的一点,昨天看到我写的"[MongoDB for Java]Java操作MongoDB"能够被放到CSDN博客的首页的头条,本章节的学习内容如下: (1)    MongoDB的投影的语法和示例学习 (2)    MongoDB的Limit()和Skip()方法学习,从而达到分页的效果 (3)    MongoDB的sort(

使用插件bootstrap-table实现表格记录的查询、分页、排序等处理

在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛的应用.Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询.分页.排序.复选框.设置显示列.Card view视图.主从表显示.合并列.国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行.移动列位置等一些特殊的功能,插件可