- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 武汉ccc报告es50h-d5系列c-03001-20130772 a2013ccc0706-1625132-s海尔热水器20130772.pdf
- 0-电热产品3c plus5a 3c认证.pdf
- 2016岗前培训7 30-8 01 ppt及讲义练习至关重要ppt.pdf
- 青岛科技大学-万里晴空-作品设计集8-环境影响评价.pdf
- 2013-2011年路虎胜运动版range rover sport l320车型topix文件变速箱.pdf
- 11月9日课件kubernetes培训20191109课件参考service account.pdf
- 8面试技巧经验2面试常见误区.pdf
- 03-洲际验收标准洲际酒店工程设计.pdf
- 2018 8 20实务-自动喷水灭火系统-2.pdf
- 刘本胜护师基护16-病情观察.pdf
- 新视野二版听说1第6单元示范1课件.ppt
- 【参考答案】 联络口译(第二版) 《联络口译》(第二版)参考答案.pdf
- 梅大高速茶阳路段“5·1”塌方灾害调查评估报告.docx
- 虹吸雨水PE管施工节点标准做法.pdf
- 2025消防设施施工质量常见通病防治手册,典型图示+规范要求.pptx
- 新视野大学英语(第二版)读写教程 4 空军工程大学编U05B.ppt
- E英语教程2(智慧版)Unit 6.pptx
- E英语教程3(智慧版)Unit 7.ppt
- 新视野二版读写1第4单元课件Section A How to Make a Good Impression.pptx
- E英语视听说教程4(智慧版)4-U2课件(2024版)U2.pptx
最近下载
- 新乡市凤泉区大块镇块村营土壤修复项目可行性研究报告.pdf VIP
- 6.第六章 检验中检测系统的性能控制(混合式教学)PPT.pdf VIP
- GB12676-2014 商用车辆和挂车制动系统技术要求及试验方法.pdf
- 汽车维修从业人员职业道德规范介绍.doc
- 2021(IPA)国际注册对外汉语教师资格认证考试真题卷.docx VIP
- 教科版六年级科学上册2.4《谁先迎来黎明》课件.ppt
- 黑白线描动物课件.pptx VIP
- 2022年中国智慧园区市场洞察报告.pdf VIP
- 合肥工业大学2021-2022学年第2学期《西方经济学》期末考试试卷(B卷)含参考答案.docx
- 小米科技有限责任公司财务风险.doc
文档评论(0)