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

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();
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

JDBC为什么要使用PreparedStatement而不是Statement

PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(...

283
来自专栏程序员的SOD蜜

PDF.NET数据开发框架操作MySQL实体类操作实例

在我们最近的项目中,SQL-MAP使用较多,但是实体类用的很少,实际上,“PDF.NET数据开发框架”的实体类相当强大,下面的测试程序是在MySQL中操作的实例...

2059
来自专栏java达人

JDBC为什么要使用PreparedStatement而不是Statement

PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 Callab...

20110
来自专栏令仔很忙

Mybatis深入了解(五)----动态SQL

动态sql是mybatis的核心,主要是对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活的拼接、组装。

822
来自专栏Ryan Miao

Mybatis - 动态sql

learn from:http://www.mybatis.org/mybatis-3/dynamic-sql.html mybatis支持动态拼接sql语句。...

2786
来自专栏芋道源码1024

Sharding-JDBC 源码分析 —— SQL 解析(二)之SQL解析

1. 概述 2. SQLParsingEngine 3. SQLParser SQL解析器 3.2.1 #parseExpression() 和 SQLExp...

3555
来自专栏个人分享

使用SparkSQL实现多线程分页查询并写入文件

一、由于具有多张宽表且字段较多,每个宽表数据大概为4000万条,根据业务逻辑拼接别名,并每张宽表的固定字段进行left join 拼接SQL。这样就能根据每个宽...

574
来自专栏Java帮帮-微信公众号-技术文章全总结

第二十九天-加强1-Junit&类加载&反射&Properties&BeanUtils&xml&动态代理&数据库【悟空教程】

第二十九天-加强1-Junit&类加载&反射&Properties&BeanUtils&xml&动态代理&数据库【悟空教程】

1086
来自专栏java一日一条

JDBC为什么要使用PreparedStatement而不是Statement

PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(...

302
来自专栏芋道源码1024

数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 改写

本文主要基于 Sharding-JDBC 1.5.0 正式版 1. 概述 2. SQLToken 3.SQL 改写 3.4.1 分页补充 3.1 TableTo...

3366

扫描关注云+社区