标签:表达式树 数据 运行 asp.net express 查询 类型 返回 ssi
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效率更高
标签:表达式树 数据 运行 asp.net express 查询 类型 返回 ssi
原文地址:http://www.cnblogs.com/lt123/p/6846427.html