`
long254229962
  • 浏览: 8616 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
社区版块
存档分类
最新评论

IQueryable,IEnumerable,List

阅读更多
1.IQueryable和IEnumerable都是延时执行(Deferred Execution)的,而IList是即时执行(Eager Execution)
2.IQueryable和IEnumerable在每次执行时都必须连接数据库读取,而IList读取一次后,以后各次都不需连接数据库。前两者很容易造成重复读取,性能低下,并且可能引发数据不一致性
3.IQueryable和IEnumerable的区别:IEnumberalb使用的是LINQ to Object方式,它会将AsEnumerable()时对应的所有记录都先加载到内存,然后在此基础上再执行后来的Query。所以上述TestIEnumerable例子中执行的SQL是"select top(5) ...",然后在内存中选择前两条记录返回。


example:(model1为iqeuryble或ienumerable或list)
     model      model1 = model.where(...)  model2 = model1.where(..)
IQueryble返回是是委托  延迟会推迟到最后 即 循环获取每个model2里的元素时读到内存

IEnumerable返回的是委托  但仅截止到该返回值 即  model2时读到内存

list 返回的是内存里的值,不延迟 
分享到:
评论

相关推荐

    C#中IEnumerable、ICollection、IList、List之间的区别

    主要介绍了C#中IEnumerable、ICollection、IList、List之间的区别,本文分别分析了它的实现源码,从而总结出了它们之间的关系和不同之处,需要的朋友可以参考下

    完美解决c# distinct不好用的问题

    IQueryable 继承自IEnumerable 先举例: #region linq to object List<People> peopleList = new List(); peopleList.Add(new People { UserName = zzl, Email = 1 }); peopleList.Add(new People { UserName = zzl...

    Linq基础学习资料,通俗易懂

    6.3.19 ToList 将集合转换为List集合,浅复本 25 6.3.20 ToDictionary 将集合转换为, V>集合,浅复本 25 7 Lambda表达式 25 7.1 例1(比效) 25 7.2 例2(多参) 27 7.3 例3(list.Where) 27 7.4 Lambda表达式中...

    ASP.NET3.5从入门到精通

    5.6 复选框控件和复选组控件(CheckBox 和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox 和BulletedList) 5.7.1 DropDownList 列表控件 ...

    ASP.NET 3.5 开发大全11-15

    5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ...

    ASP.NET 3.5 开发大全

    5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ...

    ASP.NET 3.5 开发大全1-5

    5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ...

    ASPNET35开发大全第一章

    5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ...

    ASP.NET 3.5 开发大全word课件

    5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ...

Global site tag (gtag.js) - Google Analytics