网站大量收购独家精品文档,联系QQ:2885784924

第4章linq查询基础.pdf

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 LINQ 查询基础 随着软件应用领域的不断扩大,软件需要处理的数据类型和数据量与日俱增。数据访 问的通用性、安全性、方便性逐渐引起开发人员和客户的重视。因此,微软公司在.NET3.5 中增加集成语言查询,它为开发人员提供一种统一的数据查询模式,可极大地提高数据访 问的安全性和高效性。通过简洁易用的接口, 提供了软件开发效率。 4.1 LINQ 基础概念 LINQ 是微软在.NET Framework 3.5 版中推出的主要新特性之一。它为开发人员提供统 一的数据查询模式,并与.NET 开发语言(如:C#和VB.NET )集成,很大程度上简化了数 据查询的编码和调试等,提高数据处理的性能。 4.1.1 什么是 LINQ 如今,软件应用环境越来越多样化,软件需要处理的数据量也日渐庞大,数据之间的 关系日渐复杂。从而带动了存储技术的不断发展,越来越多的数据存储格式被应用到各种 软件场合。 通常,针对数据的查询是用简单的字符串文本来编写的查询语句,比如传统的SQL 查 询语句,没有编译时的类型检查,安全性、方便性都不好。此外,开发人员还需要为不同 的数据源学习不同的数据查询语言,比如,查询SQL 数据库的T-SQL 、查询XML 数据的 结构等。 为了解决上面的问题,微软在.NET 3.5 版中推出一项具有突破性的新特性——语言集 成查询(LINQ )。LINQ 是Language Integrate Query 的缩写,它在对象和数据之间建立一 种对应关系,可以使用访问内存对象的方式查询数据集合。LINQ 使查询成为C# 中的一种 语言构造。开发人员可以在C#代码中嵌套类似于 SQL 语句的查询表达式,从而实现数据 查询的功能。 LINQ 不是简单地在C# 中嵌套查询表达式,而是将查询表达式作为C# 的一种语法。查 询表达式访问的数据源是包含一组数据的集合对象(IEnumerableT或 IQueryableT类 型),返回的查询结果也是包含一组数据的集合对象。所以,编译时将对查询的数据类型 进行检查,增强了类型安全性。同时,还可以根据集合类型,在用Visual Studio 2008 编写 代码使用只能感知功能,使得编码更快捷和轻松。LINQ 还可以通过函数的形式提供过滤 条件等, 简化了查询表达式的复杂度。 由于LINQ 中查询表达式访问的是一个对象,所以该对象本身可以表示各种类型的数 第4 章 LINQ 查询基础 据源。比如SQL Server 数据库、XML 文档、ADO.NET 数据集,以及内存中的数据集合等。 从而,为不同类型数据源的数据查询提供一种统一的编码方式。在.NET 类库中,LINQ 相 关类库都在System.Linq 命名空间下。该命名空间提供支持使用LINQ 进行查询的类和接口, 其中最主要的是两个类和两个接口。 IEnumerableT接口:它表示可以查询的数据集合,一个查询通常是逐个对集合 中的元素进行筛选操作,返回一个新的IEnumerableT对象,用来保存查询结果。 IQueryableT接口:它继承IEnumerableT接口,表示一个可以查询的表达式目 录树。 Enumerable 类:它通过对IEnumerbaleT提供扩展方法,实现LINQ 标准查询运 算符。包括过滤、导航、排序、查询、联接、求和、求最大值、求最小值等操作。 Queryable 类:它通过对IQueryableT提供扩展方法,实现LINQ 标准查询运算符。 包括过滤、导航、排序、查询、联接、求和、求最大值、求最小值等操作。 注意:深入学习LINQ 之前,读者应该具备LINQ 所用到C# 高级语言特性,包括接口、 泛型、扩展方法、可变类型、 类型等。 根据数据源类型,可以将LINQ 技术分成如下所述的4 个主要的技术方向。 LINQ to Object :数据源为实现了接口IEnumerableT或IQueryableT 的内存数 据集合,这也是LINQ 的基础,本章将详细介绍这方面的内容。 LINQ

文档评论(0)

kay5620 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8001056127000014

1亿VIP精品文档

相关文档