Linq中的IEnumerable 与 IQueryable的区别

77 阅读1分钟

参考资料:

www.codeproject.com/Articles/76…

medium.com/@mohamedabd…

forums.asp.net/t/2103238.a…

总结:

IEnumerable在客户端本地计算,接收函数式对象作为参数

IQueryable对应SQL语法树,能接收表达式节点作为参数,在客户端是表达式树可以下推到服务端进行计算

 

优化:

目标数据源是IQueryable的时候

具体看查询服务器的数据量,计算结果集的时间,IO次数选择在哪一个处理阶段把IQueryable变成IEnumerable进行优化