LINQ查询操作全面分析
创始人
2024-06-07 04:50:21
0

学习LINQ查询时,经常会遇到LINQ查询操作问题,这里将介绍LINQ查询操作问题的解决方法。

语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁。

传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持。此外,您还必须针对以下各种数据源学习不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等。LINQ 使查询成为 C# 和 Visual Basic 中的一等语言构造。您可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询。用 C# 语言编写的、不完整的 LINQ 查询,该查询针对 SQL Server 数据库,并具有完全类型检查和 IntelliSense 支持。

LINQ查询操作由以下三个操作组成:

1、获取数据源:支持泛型 IEnumerable(Of (T)) 接口的所有对象都可以作为LINQ的数据源,包括Array、List等。

2、创建查询:指定要从数据源中检索的哪些信息,还可以指定在返回这些信息之前如何对其进行排序、分组或结构化。创建(定义)的查询通常存储在变量中,并不会在定义时马上执行而是在以后执行。所以记住:查询变量本身不会执行任何操作,也不会返回任何数据,它只是存储查询定义。

3、执行查询:执行查询有两种情况,1是延迟执行;2是立即执行。

3.1、延迟执行:查询定义并保存在查询定义变量后,不马上执行,而是在后续需要时才执行。这通常需要使用 For Each 循环(它返回值序列)或应用标准查询运算符。对于值序列,可使用 For Each 循环中的迭代变量(在上一个示例中为 number)访问所检索的数据。

3.2、立即执行:在立即执行过程中,查询在定义时执行。当应用需要访问查询结果的各个元素的方法时,就会触发执行。通常使用能够返回单个值的标准查询运算符之一来强制立即执行。Count、Max、Average 和 First 就属于标准查询运算符。只要应用了这些标准查询运算符以便计算并返回单一实例结果,这些运算符就会立即执行查询。例如:

  1. Dim numbers中的偶数个数 = (From num In numbers _  
  2. Where num Mod 2 = 0 _  
  3. Select num).Count() 

还可通过对查询(立即执行)或查询变量(延迟执行)调用 ToList 或 ToArray 方法来强制执行查询,如下面的代码所示:

  1. Dim evensList = (From num In numbers _  
  2. Where num Mod 2 = 0 _  
  3. Select num).ToList() 

以上介绍LINQ查询操作

【编辑推荐】

  1. Linq表达式树简单介绍
  2. Linq和dLinq区别剖析
  3. Lambda表达式和Linq查询浅析
  4. Linq Lambda表达式概括
  5. Linq查询本质简单分析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...