初学Entity Framework时,根本没有意识到IQueryable。那时从数据库查数据都是先把所有记录取出来,放内存上,再对这些内存上的数据进行筛选。数据少的时候,这种方法也马马虎虎能用。但数据一多,性能问题突显。
IEnumberable 和 IQueryable的差异。
来源:IEnumerable VS IQueryable
IEnumberable适用于查询内存中的集合数据。如List,Arrary,Linq to Object,Linq to Xml
当它用于查询数据库中的数据时,过程如下:
- 在服务器端(数据库)执行查询搜索(不带复杂的筛选条件)
- 将查到的数据载入到客户端的内存中
- 对客户端内存中的数据进行筛选
因为IEnumerable不支持懒加载。
IQueryable适用于查询内存外的集合数据。如数据库,Linq to Sql,Service
当它用于查询数据库中的数据时,会将查询和所有筛选都放在服务端(数据库)完成。
因为IQueryable支持懒加载。(所以适用于分页的场景)
相关推荐
用于在ASP.NET中轻松分页任何IEnumerable IQueryable的库.zip
疑点一:IEnumerable vs IQueryable 查看详情 使用EF(Core)查询时,IQuerayble是否比使用IEnumerable提供更好的性能? 相关项目: IQueryableVsIEnumerable_Net_Seeder IQueryableVsIEnumerable_NetCore 结论 ...
SearchExtensions是一个IQueryable和IEnumerable扩展方法库,用于执行搜索。 有关这些软件包及其使用的更多信息,请访问。 该项目代表以下3个nuget软件包的源代码: 一种流利的api,用于跨IEnumerable和...
查询返回的结果有两种类型:IQueryable、IEnumerable,两者内部的处理机制是完全不同的。 清楚认识,这里也是一个数据查询的优化点。 在System.linq命名空间,有两个静态类:Queryable和Enumerable. 在System.linq....
PagedList是一个库,使您可以轻松获取IEnumerable / IQueryable,将其切成“页面”,并通过索引获取特定的“页面”。 PagedList.Mvc允许您获取该“页面”并显示具有诸如“上一个”,“下一个”等链接的寻呼机控件。...
前言 相信大家对Entity Framework一定不陌生,我相信其中Linq To Sql是其最大的亮点之一,但是我们一直使用到现在却不曾明白内部是...public interface IQueryable : IEnumerable { Type ElementType { get; }
主要介绍了C#中IEnumerable、ICollection、IList、List之间的区别,本文分别分析了它的实现源码,从而总结出了它们之间的关系和不同之处,需要的朋友可以参考下
#ios-queryable是一个Objective-C类别,可为Core Data提供IQueryable和类似IEnumerable的功能。 厌倦了编写样板核心数据代码? 没有LINQ就无法生存吗? ios-queryable适合您! 它支持查询组合和延迟执行,并实现...
IQueryable 继承自IEnumerable 先举例: #region linq to object List<People> peopleList = new List(); peopleList.Add(new People { UserName = zzl, Email = 1 }); peopleList.Add(new People { UserName = zzl...
5.1 IEnumerable 、IEnumerator 10 5.1.1 正常使用 10 5.1.2 C#的 yield 12 5.2 IEnumerable <T> 12 5.3 IEnumerator <T> 12 5.4 ICollection 12 5.5 ICollection <T> 13 5.6 IList 13 5.7 IList <T> 13 ...
目录 第一篇 .NET基础 第 1 章认识 ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET 历史与展望 1.1.2 ASP.NET 与ASP 1.1.3 ASP.NET 开发工具 1.1.4 ASP.NET 客户端 1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX ...
目录 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX ...
目录 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX ...
目录 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX ...
ASPNET35开发大全非常好 书名:ASP.NET 3.5 开发大全 署名:郭靖 页数:722 这是我见过的一本非常好的教程 第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP ...
这是整部学习资料 由于太大第一章免费供应给大家 在我的上传资源中 如果觉得还不过希望大家给个好评 当然具体本书的作者就不深究了把! 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 ...