> iqueryable
在使用數據時,IEnumerable<T>
>
了解核心差異 在涉及數據庫(LINQ至SQL,LINQ到實體)之類的遠程數據源的方案中,
擅長。 它的關鍵功能是IQueryable<T>
延期執行:直到實際需要其結果之前,該查詢才執行。這樣可以優化資源使用情況並加快數據檢索。
相反,
在內存集合上操作。 使用IEnumerable<T>
>執行IEnumerable<T>
的查詢立即將所有匹配的數據加載到內存中。這適用於較小的數據集,但對於大型數據庫而言可能降低。 >
> 最佳選擇取決於您的應用程序的需求:
>使用>:IQueryable<T>
>
>
IEnumerable<T>
您的數據位於內存中(例如,列表,數組)。
IQueryable<T>
>在
>示例中,數據庫查詢僅在迭代
>時才能執行。 但是,<code class="language-csharp">// IQueryable<Customer> - Deferred Execution IQueryable<Customer> customers = from c in db.Customers where c.City == "New York" select c;</code>示例,在過濾之前,將數據庫從數據庫中加載到內存中,可能會導致使用大數據集的性能瓶頸。
<code class="language-csharp">// IEnumerable<Customer> - Immediate Execution IEnumerable<Customer> customers = from c in db.Customers.ToList() // Loads all customers into memory where c.City == "New York" select c;</code>呼叫迫使立即執行。
以上是可音機與iEnumerable:我什麼時候應該使用哪個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!