IEnumerable vs IQueryable
来源:互联网 发布:c 语言 多线程共享数据 编辑:程序博客网 时间:2024/05/22 13:24
初学Entity Framework时,根本没有意识到IQueryable。那时从数据库查数据都是先把所有记录取出来,放内存上,再对这些内存上的数据进行筛选。数据少的时候,这种方法也马马虎虎能用。但数据一多,性能问题突显。
IEnumberable 和 IQueryable的差异。
来源:IEnumerable VS IQueryable
IEnumberable适用于查询内存中的集合数据。如List,Arrary,Linq to Object,Linq to Xml
当它用于查询数据库中的数据时,过程如下:
- 在服务器端(数据库)执行查询搜索(不带复杂的筛选条件)
- 将查到的数据载入到客户端的内存中
- 对客户端内存中的数据进行筛选
因为IEnumerable不支持懒加载。
IQueryable适用于查询内存外的集合数据。如数据库,Linq to Sql,Service
当它用于查询数据库中的数据时,会将查询和所有筛选都放在服务端(数据库)完成。
因为IQueryable支持懒加载。(所以适用于分页的场景)
0 0
- IEnumerable vs IQueryable
- List vs IEnumerable vs IQueryable vs ICollection vs IDictionary
- List vs IEnumerable vs IQueryable vs ICollection vs IDictionary
- 最全数据结构详述: List VS IEnumerable VS IQueryable VS ICollection VS IDictionary
- IEnumerable 和IQueryable
- IEnumerable, IQueryable的区别
- IEnumerable与IQueryable
- IQueryable 和 IEnumerable
- "IQueryable and IEnumerable"区别
- 浅析IEnumerable 和 IQueryable
- 浅谈IEnumerator、IEnumerable、IQueryable
- IList,ICollection,IEnumerable,IEnumerator,IQueryable
- IEnumerable和IQueryable的区别
- IList,ICollection,IEnumerable,IEnumerator,IQueryable
- IEnumerable接口与IQueryable 接口
- IQueryable和IEnumerable的区别
- IQueryable和IEnumerable的区别
- IQueryable和IEnumerable的使用
- 小米嵌入式面经(转发)
- 团队合作要服务化,拒绝代劳
- Netcat 工具用于设备间文件传输
- BZOJ 4205: 卡牌配对
- 异常处理——毕向东Java基础教程学习笔记
- IEnumerable vs IQueryable
- 内部类--毕向东Java基础教程学习笔记
- 管理类书籍读后感(散落在外的那些)
- 初学多线程练习1--电子时钟
- MySQL中删除重复数据只保留一条
- Weak & Strong Alias(强弱别名)
- js组合继承(原型链+对象冒充)
- 简单的Windows登陆界面设计
- 我常用的计划安排表