zoukankan      html  css  js  c++  java
  • 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();
    }
  • 相关阅读:
    微引擎的自定义菜单40063错误解决
    jquery 重复事件
    信号量机制DOWN操作和UP操作的详细说明
    每日算法37:Rotate Image (图像旋转)
    讨论嵌入式系统测试方案
    Android 从硬件到应用程序:一步一步爬上去 6 -- 我写的APP测试框架层硬件服务(终点)
    MVC 接受Flash上传图片
    autorun.vbs病毒的清除办法
    【行业翘楚】井田云:化解线上线下冲突让鱼与熊掌皆得
    Tuxedo入门学习
  • 原文地址:https://www.cnblogs.com/smiler/p/3143947.html
Copyright © 2011-2022 走看看