LINQ查询操作符浅析

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

分享标题:LINQ查询操作符浅析
链接URL:http://www.shufengxianlan.com/qtweb/news13/329813.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联