Asp.net-Mvc

是否有在數據庫中進行分頁的 ASP.NET MVC 分頁解決方案?

  • August 10, 2010

我通過Google搜尋發現的大多數 ASP.NET MVC 分頁解決方案看起來都以 IEnumerable 集合的形式從數據庫表中獲取所有行,對 IEnumerable 集合執行一些分頁轉換,然後將結果返回到視圖。我希望能夠在 DB 端進行分頁,但仍然有一些分頁類來進行頁碼計算和 HTML 生成。有沒有解決方案可以做到這一點?還是我一直在看的那些這樣做,但我沒有看到它,因為我看錯了?

這是我一直在看的:

看看 Gu 的Nerdinner樣本。

var upcomingDinners = dinnerRepository.FindUpcomingDinners();  
var paginatedDinners = upcomingDinners.Skip(10).Take(20).ToList(); 

即使 FindUpcomingDinners() 獲取所有即將到來的晚餐,查詢不會在數據庫中執行,直到您在下一行呼叫 ToList()。那是在你跳過 10 行並且只得到
接下來的 20 行之後。

你錯了。PagedList 將在數據庫伺服器上執行此操作,因為它具有 IQueryable 擴展。

引用自:https://stackoverflow.com/questions/1105336