你的位置:首页 > ASP.net教程

[ASP.net教程]EntityFramework IEnumerable,IQueryable ,Include


 使用IQueryable

    using (var db = new CentaStaffEntities())      {        IQueryable<Staff> queryablestaffs = db.Staff.AsQueryable().OrderBy(p=>p.StaffID).Skip(3).Take(3);        foreach (var item in queryablestaffs)        {          Console.WriteLine(item.CnName);        }       }

 

 

使用IEnumerable

      using (var db = new CentaStaffEntities())      {         IEnumerable<Staff> enumerablestaffs = db.Staff.AsEnumerable().OrderBy(p => p.StaffID).Skip(3).Take(3);        foreach (var item in enumerablestaffs)        {          Console.WriteLine(item.CnName);        }      }

 

IQueryable接口与IEnumberable接口的区别:  IEnumerable<T> 泛型类在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了,而IQueryable<T> 是将Skip ,take 这些方法表达式翻译成T-SQL语句之后再向SQL服务器发送命令,它并不是把所有数据都加载到内存里来才进行条件过滤。

参考:http://www.cnblogs.com/ambon/articles/4766924.html

 

Include(),两表必须含有外键关系,只需要指定键名对应的类属性名即可,不需指定结果字段(即全部映射)。默认搜索某表时,不会顺带查询外键表,直到真正使用时才会再读取数据库查询;若是使用 Include(),则会在读取本表时把指定的外键表信息也读出来。

 using (var db = new TestEntities())      {        IEnumerable<Student> enumerablestaffs = db.Student;        foreach (var item in enumerablestaffs)        {          //每次都会获取          Console.WriteLine(item.Class.Name);        }      }

 

 

Include

      using (var db = new TestEntities())      {        //预加载关联表 前提必须有主外键关系        IEnumerable<Student> enumerablestaffs = db.Student.Include("Class");        //只查询一次        foreach (var item in enumerablestaffs)        {          Console.WriteLine(item.Class.Name);        }      }

Left join

 




去黑龙江旅游必去景点去黑龙江旅游要多少钱去黑龙江旅游最佳路线去黑龙江旅游最佳时间黑龙江旅游线路报价风采迷人的关中八景 灞柳风雪 风采迷人的关中八景 草堂烟雾 澳大利亚昆士兰州抱考拉实用攻略![三] 女模"穿"彩绘仔裤逛街 奇葩行为艺术盘点(全文) 华南植物园街坊欢乐节什么时候?广州华南植物园街坊欢乐节时间? 华南植物园中秋游园会活动时间?广州华南植物园中秋游园会有什么好玩的? 广州街坊文化节在哪里开幕?广东街坊文化节来华南植物园吗? 2015广东街坊文化节时间?街坊文化节活动地点? 北京到红海滩廊道自驾车路线?北京到红海滩风景廊道多长时间? 沈阳到盘锦红海滩自驾车路线?沈阳到盘锦红海滩廊道开车怎么走? 沈阳到盘锦红海滩廊道怎么走?沈阳到盘锦红海滩有多远? 去大觉山玩漂流可以不买门票只买漂流票吗?大觉山漂流多少钱? 三亚免税店在哪里?要注意什么吗? 桂林四绝是什么? 冬天怎么玩好? 海南特产有哪些? 553-0002-846F Datasheet 553-0002-846F Datasheet 553-0002-847 Datasheet 553-0002-847 Datasheet 553-0002-847F Datasheet 553-0002-847F Datasheet 齐齐哈尔去香港迪士尼游 齐齐哈尔去香港迪士尼游 齐齐哈尔去香港迪士尼游 大连去香港旅游 大连去香港旅游 大连去香港旅游 运城去香港旅游 运城去香港旅游 运城去香港旅游