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()
<code class="language-csharp">var goldCustomers = db.Customers .Where(c => c.City == "<city>") .Skip(pageNumber * pageSize) .Take(pageSize);</code>在数据库中执行
,IQueryable<T>
,Skip
和Take
,仅检索必要的页面。 使用IEnumerable<T>
,所有指定城市的客户都将首先加载到内存中,从而降低效率。 因此,IQueryable<T>
是涉及大型数据集和分页的方案的首选选择。
以上是iQueryable vs. iEnumerable:何时使用哪个用于最佳LINQ性能?的详细内容。更多信息请关注PHP中文网其他相关文章!