當尋找到實現在C#分頁的最佳方法(使用LINQ),大多數建議是沿着這些路線的東西:高效分頁大型數據集LINQ
// Execute the query
var query = db.Entity.Where(e => e.Something == something);
// Get the total num records
var total = query.Count();
// Page the results
var paged = query.Skip((pageNum - 1) * pageSize).Take(pageSize);
這似乎是一般建議的策略(簡化)。
對我而言,我在尋呼的主要目的是提高效率。如果我的表格包含120萬個記錄Something ==某些東西,我不想同時檢索所有這些記錄。相反,我想分頁數據,抓取儘可能少的記錄。但用這種方法,似乎這是一個有爭議的問題。
如果我理解正確,第一條語句仍然檢索120萬條記錄,,然後根據需要分頁。
以這種方式進行分頁實際上是否提高了性能?如果每次都要檢索120萬條記錄,那麼除了顯而易見的UI優勢外,還有什麼意義?
我誤解了嗎?任何.NET專家,可以給我一個關於LINQ,分頁和性能的課程(當處理大型數據集時)?
@Mr香港人:使用號'.Select' Linq中不會造成枚舉。 – spender 2015-02-11 01:36:56