簡體   English   中英

轉換IEnumerable <T> 列表 <T> 性能

[英]Convert IEnumerable<T> to List <T> Performance

我有一個返回List<SampleClass>的Web服務。 我使用LINQ-to-SQL作為IEnumerable<SampleClass>.從數據庫中獲取數據IEnumerable<SampleClass>. 然后我將IEnumerable<SampleClass>轉換為List<SampleClass>

LINQ-to-SQL操作性能還可以,但IEnumerable<SampleClass>List<SampleClass>需要一些時間來完成操作。 有沒有任何解決方案可以從IEnumerable<SampleClass>List<SampleClass>獲得最佳性能?

我從我的數據庫中讀取了超過3000條記錄。

謝謝

IEnumerable to List需要一些時間來進行操作。

您獲得延遲的原因是,當您執行ToList ,這是執行實際查詢並從數據庫中獲取記錄的時間。

這稱為延遲執行

var query = db.yourTable.Where(r=> r.ID > 10);
var List = query.ToList(); //this is where the actual query gets executed. 

當您使用ToListToArrayCount()等迭代查詢時,即執行實際查詢時。

有沒有任何解決方案可以從IEnumerable到List獲得最佳性能? 我從我的數據庫中讀取了超過3000條記錄。

沒有改進查詢,不,你不能。 但是你真的需要獲取3000條記錄,你可以使用SkipTake來查看分頁

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM