<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      背景:MySQL分頁查詢語句為

      SELECT * FROM TABLE LIMIT 0,10;

      一般頁面還會獲取總條數,這時候還需要一條查詢總條數語句

      SELECT COUNT(*) FROM TABLE LIMIT 0,10

      這樣數據庫需要執行兩次查詢操作。MySQL提供了SQL_CALC_FOUND_ROWS追蹤總條數的函數,FOUND_ROWS取得總條數。

      SELECT SQL_CALC_FOUND_ROWS * FROM TABLE LIMIT 0,10;
      SELECT FOUND_ROWS();

      上面SQL語句雖然有兩個結果集,但只查詢一次數據庫,可以提升效率。

      在asp.net mvc項目中,ORM僅僅使用EF的話,處理兩個結果集就有些復雜,下面這段代碼可以解決

       1 /// <summary>
       2 /// 獲取分頁數據以及總條數(EF獲取多個數據集)
       3 /// </summary>
       4 /// <typeparam name="T">實體類</typeparam>
       5 /// <param name="sql">SQL語句(分頁查詢+SELECT FOUND_ROWS查詢)</param>
       6 /// <param name="parameters">SQL參數</param>
       7 /// <param name="db">數據庫上下文</param>
       8 /// <param name="queryData">返回數據</param>
       9 /// <param name="rowCount">總行數</param>
      10 /// <param name="needReturnTotal">是否需要返回總行數</param>
      11 public void GetQueryDataAndRowCount<T>(string sql, List<MySqlParameter> parameters, DbContext db, out List<T> queryData, out int rowCount, bool needReturnTotal = true)
      12 {
      13     var data = new List<T>();
      14     var count = 0;
      15     try
      16     {
      17         var cmd = db.Database.Connection.CreateCommand();
      18         cmd.CommandText = sql;
      19         if (parameters.Count > 0)
      20         {
      21             cmd.Parameters.AddRange(parameters.ToArray());
      22         }
      23         db.Database.Connection.Open();
      24         var reader = cmd.ExecuteReader();
      25         if (reader.HasRows)
      26         {
      27             data = ((IObjectContextAdapter)db).ObjectContext.Translate<T>(reader).ToList();
      28             if (needReturnTotal)
      29             {
      30                 reader.NextResult();
      31                 count = ((IObjectContextAdapter)db).ObjectContext.Translate<int>(reader).FirstOrDefault();
      32             }
      33         }
      34     }
      35     finally
      36     {
      37         db.Database.Connection.Close();
      38     }
      39     queryData = data;
      40     rowCount = count;
      41 }
      View Code

       

      posted on 2019-03-20 15:04  cigarlau  閱讀(719)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 人妻精品动漫H无码中字| 色悠悠在线观看入口一区| 国产成人一区二区三区免费| 色吊丝av熟女中文字幕| 欧美成人精品手机在线| 无码av永久免费专区麻豆| 亚洲国产成人无码影院| 午夜福利精品国产二区| 1区2区3区4区产品不卡码网站| 狠狠色综合播放一区二区| 久久精品不卡一区二区| 亚洲av一本二本三本| 久久久久国产精品熟女影院| 无码国产精品成人| 襄汾县| 国产成人卡2卡3卡4乱码| 久久日韩精品一区二区五区| 国产日韩精品中文字幕| 自拍偷拍第一区二区三区| 三级国产在线观看| 99麻豆久久精品一区二区| 久久这里只精品国产免费9| 宝清县| 日韩精品一区二区三区中文无码| 国产a级三级三级三级| 无码人妻精品一区二区三区下载 | 春色校园综合人妻av| 亚洲欧洲日产国码久在线| 日韩中文字幕人妻精品| 影音先锋男人站| 91亚洲国产成人久久蜜臀| 国产成人一区二区三区视频免费| 欧美精品高清在线观看| 国产亚洲人成网站在线观看| 亚洲AⅤ天堂AV天堂无码| 亚洲高清WWW色好看美女| 黄瓜一区二区三区自拍视频| 国产精品白丝久久AV网站| 激情久久综合精品久久人妻| 欧美白妞大战非洲大炮| 海林市|