- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用LINQ处理数据
使用LINQ处理数据
.NET Language-Integrated Query(LINQ,语言集成查询)是微软公司提供的一项新技术,它将查询操作直接引入到.NET Framework 3.5所支持的编程语言(如C#、Visual Basic等)中,从而直接实现查询功能。本章将讲解使用LINQ处理的方法,主要介绍以下知识点:
* LINQ概述;
* LINQ查询子句;
* 使用LINQ维护User表的数据。
通过本章的学习,读者将可以了解使用LINQ查询集合中的数据的基本操作方法,并使用LINQ处理数据库中的数据的方法。
13.1 LINQ概述
查询(Query)是一种从给定的数据源中检索满足指定条件的数据表达式。查询也是一组指令,这些指令可以从一个或多个给定的数据源中检索数据,并指定检索结果的数据类型和表现形式。
传统上,查询技术往往使用字符串来表示查询操作,如查询关系数据库的SQL语句、查询XML结构数据的XQuery等。在这些查询操作中,一般不会检查被查询数据的类型。同时,这些查询操作往往与编程语言处于一种相对孤立的状态。
LINQ(.NET Language-Integrated Query、语言集成查询)也是一种查询技术,它最大的特点就是能够把查询操作直接引入到.NET Framework 3.5所支持的编程语言(如C#、Visual Basic等)中,并整合为一体。LINQ查询表达式是由一组用类似于SQL或XQuery的声明性语法编写的子句组成。每一个子句可以包含一个或多个C#表达式,而这些表达式本身又可能是查询表达式或包含查询表达式。LINQ为.NET Framekwork 3.5所支持,它包括以下4个主要组件或技术。
* LINQ to Objects:查询IEnumerable或IEnumerableT类型的集合,即查询任何可枚举的集合,如数组(Array和ArrayList)、泛型列表(ListT)、字典(DictionaryT),以及用户自定义的集合。
* LINQ to SQL:查询和处理(如插入、修改、删除、排序等操作)基于关系数据库(如SQL Server数据库等)的数据。
* LINQ to DataSet:查询和处理DataSet对象中的数据,并这些数据进行检索、过滤和排序等操作。
* LINQ to XML:查询和处理XML结构的数据(如XML文档、XML数据片段、XML格式的字符串等)。
【示例13-1】 创建一个简单的LINQ查询表达式query0。该表达式查询sources数组中小于3的元素。
int[] sources = {0,1,2,3,4,5,6,7,8,9};
var query0 = from v in sources
where v 3
select v;
13.2 LINQ查询子句
LINQ查询表达式由一组类似于SQL或XQuery的声明性语法编写的子句组成。每一个子句可以包含一个或多个C#表达式,而这些表达式本身又可能是查询表达式或包含查询表达式。LINQ查询表达式包含8个基本子句,具体说明如下所述。
* from子句:指定查询表达式的数据源和范围变量。
* select子句:指定筛选元素的逻辑条件。一般由逻辑运算符组成。
* where子句:指定查询结果的表现形式。
* group子句:对查询结果进行分组。
* orderby子句:对查询结果进行排序。
* join子句:用来连接多个查询操作的数据源。
* let子句:可以用来引入用于存储子表达式查询结果的范围变量。
* into子句:提供一个临时标识符,使用该标识可以允许对join、group或select子句结果的引用。
13.2.1 from子句
from子句和SQL语句中的“FROM子句”比较相似,它可以指定查询的数据源(也包括子查询的数据源)和范围变量。其中,范围变量用来表示数据源序列中的每一个元素。
?注意:LINQ查询表达式必须包含from子句,且以from子句开头。
【示例13-2】 创建了一个LINQ查询表达式,并保存为query1。该表达式从sources数组中查询小于2的元素。
?注意:s为范围变量。sources为数据源,它为整型数组,并包含10个值。
int[] sources = {0,1,2,3,4,5,6,7,8,9};
var query1 = from s in sources
where s 2
select s;
示例13-2的查询结果如表13.1所示。
表13.1 示例13-2的查询结果表
数 据 源
查询表达式
查 询 结 果
sources(包含9个元素,分别为0、1、2、3、4、5、6、7、8、9)
您可能关注的文档
- 有句俗话.doc
- 有关化学式的计算教案.doc
- 教学设计语言活动《小壁虎结尾巴》.doc
- 备考2017年百日捷进专题06导数解答题(综合提升篇).doc
- 备考2017年百日捷进专题07选讲内容(综合提升篇).doc
- 备考2017年百日捷进专题04立体几何解答题(文)(综合提升篇).doc
- 做一个幸福的教书人.doc
- 正比例和反比例的异同及典例一题.docx
- 先学后教与先教后学的教有什么区别.docx
- 纸杯自制吸管台灯小制作.docx
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 2022医院医疗机构开展违反中央八项规定精神突出问题专项治理的实施方案(详细版).pdf VIP
- 半导体工艺炉的炉门及半导体工艺炉.pdf VIP
- 测绘行业安全生产汇报.pptx VIP
- 半导体后端工艺半导体封装的作用、工艺和演变.docx VIP
- 半导体工艺原理--半导体工艺原理(贵州大学).ppt VIP
- 麦肯锡中国银行业CEO季刊(2020年秋)-麦肯锡-224页正式版.pdf VIP
- 走进潮汕文化ppt课件(优质ppt).pptx
- DG_TJ 08-2439-2024 建筑工程“多测合一”技术标准(正式版).pdf VIP
- Camera客观标准测试.pdf VIP
- 2024年湖北省恩施州恩施市六角亭街道招聘社区工作者真题参考答案详解.docx VIP
文档评论(0)