码迷,mamicode.com
首页 > 编程语言 > 详细

关于IQueryable和IEnumerable

时间:2017-06-15 12:45:47      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:运行速度   集合   数据库   调用   延时   中间   判断   加载   个人   

园里对这两个已经有很多文章作了深入的介绍,我总结些,当成笔记用。

一.具体判断用哪个上,如果是运行在本地内存中的,用IEnumerable,枚举该对象时,会立即反应查询结果。

    如果是远程数据源,比如数据库,为优化查询,减少中间环节,要把多条语句先存放到表达式数里,等执行ToList方法时才会去真正调用迭代器GetEnumerator()取值,会去执行IQueryProvider中的Excute方法。得到最终结果,就是延时加载。

二.个人认为在不确认哪个更适用的情况下用IQueryable,因为从逻辑上讲,把所有语句拼接后再执行,加快了程序运行速度,哪怕你集合是放在本地内存中,不是远程数据库,但有时你一个中间语句,可能就已经把数据全取了一遍了。但最终我们要的只是中间的几条数据。 

 

关于IQueryable和IEnumerable

标签:运行速度   集合   数据库   调用   延时   中间   判断   加载   个人   

原文地址:http://www.cnblogs.com/newlife2017/p/7016705.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!