> 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中文网其他相关文章!