日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

先來看看幾個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起交換。




生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久草成人网 | 黄色毛片网站 | 国产精品99久久久久久www | 国产精品久久久久一区二区三区 | 国产一卡二卡 | 成人性生交大片免费看视频r | 在线无码 | 国产精品电影一区二区 | 综合久久五月 | 亚洲午夜在线视频 | 成人av免费在线 | 1区2区视频 | 亚洲欧美一区在线 | 国产精品美女久久久免费 | 国产精品久久久久久久久免费看 | 国产区在线观看 | 久久宅男 | 经典三级在线播放 | 亚洲精品日韩综合观看成人91 | 国产精品免费一区二区 | 麻豆av免费 | av老司机在线观看 | 国产精品国产三级国产专播品爱网 | 可以在线观看的av网站 | 午夜精品久久久久久久久久久 | 精品久久免费 | 超碰伊人网| 99精品一区二区 | 欧美一区二区三区在线视频 | 成片在线| 一级毛片在线 | 91av精品 | 国产区视频在线 | 麻豆av在线播放 | 日韩精品不卡 | 日韩免费视频一区二区 | 天天综合一区 | 成人午夜电影在线观看 | 国产精品综合网 | 国产福利电影 | 国产精品一区二区在线播放 |