当前位置: 首页 > 编程笔记 >

C#中的IEnumerable和IQueryable有什么区别?

施振海
2023-03-14
本文向大家介绍C#中的IEnumerable和IQueryable有什么区别?,包括了C#中的IEnumerable和IQueryable有什么区别?的使用技巧和注意事项,需要的朋友参考一下
  • IEnumerable存在于System.Collections命名空间中。

  • IQueryable存在于系统中。Linq命名空间。

  • IEnumerable和IQueryable都是正向收集。

  • IEnumerable不支持延迟加载

  • IQueryable支持延迟加载

  • IEnumerable从数据库中查询数据,然后在服务器端执行选择查询,在客户端将数据加载到内存中,然后过滤数据。

  • 从数据库查询数据,IQueryable使用所有过滤器在服务器端执行选择查询。

  • IEnumerable扩展方法采用功能对象。

  • IQueryable Extension方法采用表达式对象表示表达式树。

示例

IEnumerable

dbContext dc = new dbContext ();
IEnumerable
<SocialMedia>
list = dc.SocialMedias.Where(p => p.Name.StartsWith("T"));
list = list.Take<SocialMedia>(1);
</SocialMedia>

为上述查询生成的SQL语句

SELECT [t0].[ID], [t0].[Name] FROM [SocialMedia] AS [t0]
WHERE [t0].[Name] LIKE @p0

可查询

dbContext dc = new dbContext ();
IQueryable<SocialMedia> list = dc.SocialMedias.Where(p => p.Name.StartsWith("T"));
list = list.Take<SocialMedia>(1);

为上述查询生成的SQL语句

SELECT top 1 [t0].[ID], [t0].[Name] FROM [SocialMedia] AS [t0]
WHERE [t0].[Name] LIKE @p0
 类似资料:
  • 我在VS2008动态LINQ示例中找到了一个示例,它允许您使用类似SQL的字符串(例如,进行排序。不幸的是,包含的方法仅适用于

  • 问题内容: MVC.net场景(和.net)是新手,但是当我想用数据填充“列表”时,似乎可以找到很多选择。就目前的情况而言,我想从项目的选择查询中填充一个列表,并将结果呈现为JSON以输出,因此请耐心等待…。 所以,我的viewmodel类是这样的: 然后,我想用查询输出填充它: 然后,我是否将输出循环到我的List中,以便随后可以在Json返回字符串中输出?当我使用 LIST VS IENUME

  • 本文向大家介绍C#和 .NET有什么区别相关面试题,主要包含被问及C#和 .NET有什么区别时的应答技巧和注意事项,需要的朋友参考一下 答:.NET一般指 .NET FrameWork框架,它是一种平台,一种技术。

  • 问题内容: 当我遇到Joel Spolsky的时候,我正在阅读《更多关于软件的 Joel》,他说了一种有关特定类型的程序员的一些知识,他们知道Java / C#(面向对象编程语言)中an int和an 之间的区别Integer。 那么区别是什么呢? 问题答案: 在Java中, “ int”类型是原始类型,而“ Integer”类型是对象。 在C#中, 类型与值类型相同,并且是值类型(即更像Java

  • 本文向大家介绍C#中 abstract class和interface有什么区别?相关面试题,主要包含被问及C#中 abstract class和interface有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 答: abstract class abstract 声明抽象类抽象方法,一个类中有抽象方法,那么这个类就是抽象类了。所谓的抽象方法,就是不含主体(不提供实现方法),必须由继承者重

  • 本文向大家介绍C和C++的区别是什么?相关面试题,主要包含被问及C和C++的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。 C中函数不能进行重载,C++函数可以重载 C++在C的基础上增添类,C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运