码迷,mamicode.com
首页 > 其他好文 > 详细

对IEnumerable<T>和IQueryable<T>的一点见解

时间:2014-09-09 12:00:28      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   数据   2014   问题   sp   log   c   

  今天学习了用EF模型做查询,感觉数据库上下文对象的扩展方法很强大,所以研究了一下where的实现原理,其中遇到了一个问题,就是关于IEnumerable和IQueryable的区别,所以查了查资料,这里通俗的和大家说一下

  刚开始看到where方法的返回值是一个IQueryable<T>类型,所以我在自己的MyWhere方法的返回值写的也是这个类型,结果报错。然后换成了IEnumerable<T>,解决问题。

  bubuko.com,布布扣

总结:首先要说的是IQueryable继承自IEnumerable接口,它是的IEnumerable更强大。IEnumerable接口是在调用自己的扩展方法之前,就已经将数据加载保存到了本地内存里,然后根据条件,从内存中筛选数据返回。IQueryable接口是将方法翻译成T-SQL语句,然后再向数据库服务器中发出命令,筛选满足条件的数据,返回给我们。

  本人不才,如果有理解偏差的地方,还请各位大牛不吝赐教。

  

对IEnumerable<T>和IQueryable<T>的一点见解

标签:style   blog   http   数据   2014   问题   sp   log   c   

原文地址:http://www.cnblogs.com/inya/p/3961950.html

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