0
A
回答
2
您可以通過訂購的東西吧,否則你真的不能
所以它會像
mycontext.mytable
.OrderBy(item=>.item.PropertyYouWantToOrderBy)
.Skip(HowManyYouWantToSkip)
.Take(50);
2
LINQ
東西是基於單向枚舉的概念,所以查詢都開始在開始。爲了實現分頁,你將不得不使用Skip
和Take
擴展隔離您感興趣的項目:
int pageSize = 50;
// 0-based page number
int pageNum = 2;
var pageContent = myCollection.Skip(pageSize * pageNum).Take(pageSize);
當然,這只是設置了一個IEnumerable<T>
的是,列舉時,將通過myCollection
100倍步驟,然後在關閉之前開始返回數據50個步驟。
如果您正在處理可以多次枚舉的東西,那麼這很好,但是如果您使用只枚舉一次的源,則不會。但是,無論如何,您無法真實地在這種枚舉上實現分頁,您至少需要一箇中間存儲器來存儲您已經使用的那部分內容。
在LINQ to SQL中,這會產生一個查詢,它只會嘗試選擇您要求的50條記錄,這些記錄將基於numSkip + numTake
記錄,顛倒排序順序,取numTake
條記錄並倒轉再次。根據您設置的排序順序和所涉及的數字大小,這可能比僅僅將一堆數據拉回並在內存中進行過濾要昂貴得多。
相關問題
- 1. 用LINQ to SQL分頁搜索結果
- 2. FuelPHP:分頁檢索結果
- 3. 使用LinQ代碼檢索bool結果
- 4. 使用linq分組結果
- 5. 使用Yii搜索結果分頁
- 6. 搜索結果分頁
- 7. 搜索結果分頁laravel
- 8. 分頁搜索結果
- 9. CodeIgniter搜索結果分頁
- 10. 分頁搜索結果
- 11. 分頁的搜索結果
- 12. 用htmlunit檢索結果頁面
- 13. 迭代LINQ的結果使用索引
- 14. 搜索結果分頁不起作用
- 15. 使用linq檢索平均分
- 16. 分組SQL結果使用LINQ
- 17. 檢索結果
- 18. 在C#中使用LINQ作爲分頁結果
- 19. 使用分頁搜索結果使用Zend Paginator
- 20. 如何使用分頁檢測搜索結果中的陳舊數據?
- 21. 部分檢索Google Health API的結果
- 22. 檢索結果的特定子部分
- 23. 使用IbPy檢索ScannerSubscription結果
- 24. 使用PDO檢索結果的php
- 25. 使用JDBC檢索latin1編碼結果
- 26. 使用R.Net檢索R評估結果
- 27. 檢索嵌入文檔分頁結果中貓鼬
- 28. NHibernate - 分頁 - 檢索當前項目結果的任一側
- 29. JSP分頁沒有檢索整個結果集?
- 30. Laravel - 分頁雄辯檢索到的結果
分頁結果很大程度上取決於訂單。因此,請始終堅持一定的順序,以確保一切都同步。我真的不明白你的問題。如果它涉及從1 LINQ分頁的結果,那麼你只需要保存一個LINQ(只是一個查詢 - 不是本地列表),並通過不同的跳過和獲取數字來提供不同的頁面。 – Hopeless