IQueryable接口与IEnumberable区别
来源:互联网 发布:中国 程序员 总数 2017 编辑:程序博客网 时间:2024/05/22 03:27
IEnumerable<T> 泛型类在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了,而IQueryable<T> 是将Skip ,take 这些方法表达式翻译成T-SQL语句之后再向SQL服务器发送命令。也是延迟在我要真正显示数据的时候才执行
演示linq to ef中使用IEnumberable与IQueryable的区别,要用到的SQL Server Profiler工具
下面是 IQueryable<T> :
var student = (from s in stuEntities.Student orderby s.StudentID select s).Skip(3).Take(3);
生成的SQL:
SELECT * FROM (select ROW_NUMBER() over(order by id)as row,* from [T_Scripts])as t1 where t1.row > 3 and t1.row <= 6
下面是 IEnumerable<T>:
var student = (from s in stuEntities.Student orderby s.StudentID select s).AsEnumerable().Skip(3).Take(3);
生成的SQL:
SELECT * FROM [T_Scripts]
从上面的执行结果可以看出来, IQueryable 是先将所有LINQ语句转换成命令树,然后通过SQL执行
而IEnumerable就是在 AsEnumerable 之前就立刻生成了SQL语句,后面再由程序Skip,Take
0 0
- IQueryable接口与IEnumberable区别
- IEnumberable与IQueryable区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别
- Entity Framework--IQueryable与IEnumberable的区别
- IQueryable与IEnumberable的区别有哪些
- Entity Framework:IQueryable与IEnumberable的区别
- IQueryable & IEnumberable 区别
- IQueryable & IEnumberable 区别
- C# IEnumberable & IQueryable 区别
- Entity Framework快速入门--IQueryable与IEnumberable的区别
- Entity Framework快速入门--IQueryable与IEnumberable的区别
- ocr文字识别
- LINQ to Entities 查询注意事项
- SQL 数据库 函数
- 买固态硬盘需要注意事项!
- ArcGIS API For JS 文本标注换行
- IQueryable接口与IEnumberable区别
- 一致性Hash算法学习
- CodeFirst 的编程方式
- 在koa中使用mongoose操作mongodb数据库
- avformat_find_stream_info 崩溃
- 实体框架(Entity Framework)简介
- VS下 调试 Qt程序提示缺少xxx.dll的解决办法
- Aandroid中的SharedPreferences使用
- 变量的生命周期,堆栈细节