首页 > 代码库 > 2017.5.12总结
2017.5.12总结
1.asp.net中IEnumberable和IQueryable区别
在使用EF查询数据的时候,我们常用的查询数据方式有linq to sql,linq to object
linq to sql返回值是IQueryable
linq to object 返回值类型是IEnumerable
在System.linq.Enumerable中,参数接收的是一个谓词表达式,也就是一个委托
那么在查询数据使用linq to sql的时 ,返回一个IQueryable
那么在查询数据使用linq to object的时候,会根据传递的参数不同返回不同的类型
1.Func<>谓词表达式,就是一个委托,委托一旦调用,就立即执行了,将执行结果保存在内存中。
2.Expression是一个表达式,会存储拼接表达式树,直到在运行期最终执行。
IQueryable是一种延迟加载机制,即查询后的结果会放在IQueryable集合中不会立即查询,而是会进行筛选后 将最终结果放入内存中 .二者表面上没任何区别,但是IQueryable效率更高
2017.5.12总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。