iqueryable
。 了解他們的差異對於編寫有效的LINQ查詢至關重要。 IQueryable<T>
IEnumerable<T>
>
和>使用延期執行。 這意味著該查詢在實際需要的結果之前才執行,從而提高了效率。 IQueryable<T>
>
IEnumerable<T>
核心區別在於其執行上下文。
>與LINQ-TO-DATABASE(例如LINQ-TO-SQL或Entity Framework)一起工作,允許在數據庫本身中進行查詢細化。這可以通過最大程度地減少傳輸到內存的數據來顯著提高性能。
相反,IQueryable<T>
IEnumerable<T>
何時使用iQueryable
>
IQueryable<T>
IEnumerable<T>
數據庫優化不必要:
ToList()
var goldCustomers = db.Customers .Where(c => c.City == "<city>") .Skip(pageNumber * pageSize) .Take(pageSize);
,IQueryable<T>
,Skip
和Take
,僅檢索必要的頁面。 使用IEnumerable<T>
,所有指定城市的客戶都將首先加載到內存中,從而降低效率。 因此,IQueryable<T>
是涉及大型數據集和分頁的方案的首選選擇。
以上是iQueryable vs. iEnumerable:何時使用哪個用於最佳LINQ性能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!