LINQ查询操作符浅析
创始人
2024-06-07 03:00:30
0

LINQ有很多值得学习的地方,这里我们主要介绍LINQ查询操作符,包括介绍LINQto Entities等方面

语言集成查询 (LINQ) 允许开发人员通过强类型化语法使用 Microsoft® .NET Framework 3.5 代码编写类似 SQL 的查询。然后,各种LINQ提供程序,如LINQto Objects(可利用它根据对象层次结构编写查询)和LINQto Entities(可利用它根据实体框架的概念模型编写查询)可根据代表数据存储的细微差别来有效处理这些查询。

除强类型化语法外,LINQ查询还具有一个标准LINQ查询操作符库来增强其功能。这些标准LINQ查询操作符对序列进行运算并可执行各种运算,如确定序列中是否存在某个值以及对序列运行合计函数(如求和)。

在本月的专栏中,我将使用LINQ来执行实际的查询和运算(会用到LINQto Objects 和LINQto Entities)。我将查询一个实体集合并使用其导航属性深入研究一组具备层次结构的实体。我还会为您演示如何对数组和集合应用多个标准LINQ查询操作符。并展示如何使用 lambda 表达式强化LINQ的标准LINQ查询操作符,以及如何利用它们来从序列解析特定信息并对序列执行复杂的逻辑运算。

操作符和LINQ

LINQ自身功能非常强大,无论使用的是LINQto XML、LINQto DataSets、LINQto Entities、LINQto Objects 还是附带的任何其他LINQ提供程序。LINQ的核心功能在于其强类型化查询语法,它可用于任意此类提供程序。当将LINQ与一个或多个标准LINQ查询操作符结合使用时,会得到一个功能更为强大的工具集,从而可精细地控制一组数据。

标准LINQ查询操作符在 System.LINQ命名空间中的 System.Core.dll 程序集中作为静态类 Enumerable 和 Queryable 的扩展方法存在,并且可用于实现 IEnumerable 或 IQueryable 的对象。这样它们就能使用LINQto Entities 和LINQto SQL 之类的提供程序对各类对象执行运算,从内存中的集合和数组(序列)到远程数据库。

可轻松地确定处理特定任务时所拥有的操作符。如果要在LINQ查询中使用操作符,可使用 Queryable 静态类可用扩展方法中的操作符。如果要对实现 IEnumerable 的序列使用操作符,可使用 Enumerable 静态类中的一个扩展方法。但是,请记住:并非 Queryable 类中的所有操作符都适用于基础数据存储,因此运行时可能不支持某些操作符。

操作符类型

操作符有多种类型(使用对象浏览器查看 Enumerable 和 Queryable 类即可找到所有操作符)。可利用它来大致了解一下操作符所提供的功能。我将使用LINQto Objects 和LINQto Entities 展示一小组此类操作符,以显示它们如何为实际应用程序带来好处。
Figure A Categories of Operators

【编辑推荐】

  1. LINQ to SQL查询分析
  2. LINQ查询架构简单介绍
  3. LINQ to SQL映射关系概述
  4. LINQ To SQL对象模型浅析
  5. LINQ to SQL映射列描述

相关内容

热门资讯

如何允许远程连接到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...