多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > EF實現分頁查詢+條件查詢+排序

EF實現分頁查詢+條件查詢+排序

來源:程序員人生   發布時間:2015-08-27 08:21:09 閱讀次數:10167次

先來看看幾個LINQ to SQL的幾個函數。 

Take

    說明:獲得集合的前n個元素;延遲。即只返回限定數量的結果集。

    var q = (

    from e in db.Employees

    orderby e.HireDate

    select e)

    .Take(5);

    語句描寫:選擇所雇用的前5個雇員。

Skip 

    說明:跳過集合的前n個元素;延遲。即我們跳過給定的數目返回后面的結果集。

    var q = (

    from p in db.Products

    orderby p.UnitPrice descending

    select p)

    .Skip (10);

    語句描寫:選擇10種最貴產品以外的所有產品。

OrderBy
    適用處景:對查詢出的語句進行排序,比如按時間排序 等等。
    說明:按指定表達式對集合排序;延遲,:按指定表達式對集合 排序;延遲,默許是升序,加上descending表示降序,對應的擴大方法是 OrderBy和OrderByDescending

    下面這個例子使用 orderby 按雇用日期對雇員進行排序:
    var q =
    from e in db.Employees
    orderby e.HireDate
    select e;
    說明:默許為升序


    看完這兩個函數的使用方法,那末分頁的思路也就很容易推出來了,若要顯示第m頁,每頁n條數據,我們應當跳過n*(m⑴)條數據,顯示n條數據。


源碼以下:

/// <summary> /// 分頁查詢 + 條件查詢 + 排序 /// </summary> /// <typeparam name="Tkey">泛型</typeparam> /// <param name="pageSize">每頁大小</param> /// <param name="pageIndex">當前頁碼</param> /// <param name="total">總數量</param> /// <param name="whereLambda">查詢條件</param> /// <param name="orderbyLambda">排序條件</param> /// <param name="isAsc">是不是升序</param> /// <returns>IQueryable 泛型集合</returns> public IQueryable<T> LoadPageItems<Tkey>(int pageSize, int pageIndex, out int total, Expression<Func<T, bool>> whereLambda, Func<T, Tkey> orderbyLambda, bool isAsc) { total = MyBaseDbContext.Set<T>().Where(whereLambda).Count(); if (isAsc) { var temp = MyBaseDbContext.Set<T>().Where(whereLambda) .OrderBy<T, Tkey>(orderbyLambda) .Skip(pageSize * (pageIndex - 1)) .Take(pageSize); return temp.AsQueryable(); } else { var temp = MyBaseDbContext.Set<T>().Where(whereLambda) .OrderByDescending<T, Tkey>(orderbyLambda) .Skip(pageSize * (pageIndex - 1)) .Take(pageSize); return temp.AsQueryable(); } }


使用示例

    //查詢要求:每頁10條,顯示第2頁,查詢性別為“男”,按年齡增序排列

    int totalRecord;

    List<Student>result = studentService.LoadItems(10,2,out totalRecord,u=>u.Sex==”男”,u=>u.Age,True);

    

    最近研究了點Linq to Sql的知識,發現還挺成心思的,歡迎大家和我1起交換。




生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕福利视频 | 91精品欧美一区二区三区 | 经典三级一区二区三区视频 | 一区二区三区亚洲 | 色吊丝在线观看 | 91久久另类重口变态 | 中文字幕免费观看 | 欧美精品一区二区三区久久 | 国产1区二区| 伊人久久大香线蕉资源 | 精品国产一区二区三区久久 | 毛片观看网址 | 日韩精品免费 | 亚洲人成网亚洲欧洲无码 | 欧美成a人片在线观看 | 国产一区二区三区免费 | 国产精品免费视频一区 | 国产精品亚洲综合一区在线观看 | 国内精品一区二区 | 国产高清吃奶成免费视频网站 | 亚洲天天综合 | 免费欧美一级 | 好大好爽好舒服 | 黑人性猛交xxxx乱大交一 | 亚洲第一色站 | 亚洲第一影院 | free×性欧美hd | 美美女高清毛片视频黄的一免费 | 在线观看精品国产福利片100 | 在线亚洲精品 | 99成人| 亚洲国产高清一区二区三区 | 欧美人与物3dvideos | 亚洲天天网综合自拍图片专区 | 日韩欧美一区二区三区中文精品 | 91精品国产人成网站 | 精品视频网站 | 国产欧美另类久久久品 | 欧美末成年videos在线 | 欧美aa一级片 | 一级毛片aaaaaa视频免费看 |