第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用LINQ為對象分頁

使用LINQ為對象分頁

搖曳的薔薇 2019-08-27 10:29:26
如何在LINQ查詢中實(shí)現(xiàn)分頁?實(shí)際上,如果可以模仿sql TOP函數(shù),我會(huì)感到滿意。但是,我確信無論如何都需要盡快提供完整的分頁支持。var queryResult = from o in objects                  where ...                   select new                       {                          A = o.a,                          B = o.b                      }                    ????????? TOP 10????????
查看完整描述

3 回答

?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

使用SkipTake絕對是要走的路。如果我實(shí)現(xiàn)這個(gè),我可能會(huì)編寫自己的擴(kuò)展方法來處理分頁(使代碼更具可讀性)。實(shí)施當(dāng)然可以使用SkipTake

static class PagingUtils {
  public static IEnumerable<T> Page<T>(this IEnumerable<T> en, int pageSize, int page) {
    return en.Skip(page * pageSize).Take(pageSize);
  }
  public static IQueryable<T> Page<T>(this IQueryable<T> en, int pageSize, int page) {
    return en.Skip(page * pageSize).Take(pageSize);
  }}

該類定義了兩個(gè)擴(kuò)展方法 - 一個(gè)用于IEnumerable和一個(gè)用于IQueryable,這意味著您可以將它與LINQ to Objects和LINQ to SQL一起使用(編寫數(shù)據(jù)庫查詢時(shí),編譯器將選擇IQueryable版本)。

根據(jù)您的分頁要求,您還可以添加一些其他行為(例如,處理負(fù)數(shù)pageSizepage值)。以下是如何在查詢中使用此擴(kuò)展方法的示例:

var q = (from p in products         where p.Show == true
         select new { p.Name }).Page(10, pageIndex);


查看完整回答
反對 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 475 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)