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 条评论
登录 后参与评论

相关文章

来自专栏风口上的猪的文章

.NET面试题系列[9] - IEnumerable

IEnumerable及IEnumerable的泛型版本IEnumerable<T>是一个接口,它只含有一个方法GetEnumerator。Enumerable...

862
来自专栏GreenLeaves

C# 通过IEnumberable接口和IEnumerator接口实现自定义集合类型foreach功能

1、IEnumerator和IEnumerable的作用 其实IEnumerator和IEnumerable的作用很简单,就是让除数组和集合之外的类型也能支持f...

18210
来自专栏阿杜的世界

Java泛型基础(二)泛型接口泛型方法# 总结

泛型可以应用于同一个类,该类可以针对多种类型使用,例如构建一个RedisTemplateService组件,用于处理当前应用中所有对象的缓存操作。这篇文章主要介...

1193
来自专栏林德熙的博客

C# 很少人知道的科技

本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道,如果觉得我在骗你,那么请看看下面。

532
来自专栏yl 成长笔记

c# 委托(Func、Action)

以前自己写委托都用 delegate, 最近看组里的大佬们都用 Func , 以及 Action 来实现, 代码简洁了不少, 但是看得我晕晕乎乎。 花点时间研究...

1163
来自专栏Ken的杂谈

Thymeleaf使用技巧:使用片段(fragment)实现母版页(Layout)功能

网站中往往有通用的布局,比如导航、底部等等,这些页面中共用的部分,就需要放在母版页(Layout)里面。 这样每个页面只用关注本页面要完成的功能/内容即可。提高...

1622
来自专栏技术博客

C#基础知识系列九(对IEnumerable和IEnumerator接口的糊涂认识)

   IEnumerable、IEnumerator到现在为止对这两个接口还是不太理解,不理解但是自己总是想着试着要搞明白,毕竟自己用的少,所以在此先记录一下。...

872
来自专栏天天

css3(animate)

533
来自专栏新闻仍然

一个关于Linq对引用类型元素集合去重问题的思考

说到对集合去重处理,第一时间想到的肯定是Linq的Distinct扩展方式,对于一般的值类型集合去重,很好处理,直接list.Distinct()即可。但是如果...

70
来自专栏跟着阿笨一起玩NET

C#构造函数里的base和this的区别

父类的构造函数总是在子类之前执行的。既先初始化静态构造函数,后初始化子类构造函数。

611

扫码关注云+社区