- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
专题2:Web的后端开发
第章 LINQ语言基础
7.1 概述
计算机的主要任务之一就是处理数据,计算机程序可以简单归纳为:
计算机程序 = 程序语言 + 数据
随着计算机应用范围的扩展,数据的类型在不断增加.程序中需要处理各数据包括:自定义变量、内存中的数据集合、来自数据库的数据,XML和平面文件,另外还有Web Services以及RSS数据等等。不同类型的数据都有自己追求目标和不同的处理方法。例如:
对于自定义变量或者内存中的数据集合,通常用面向对象的方式来处理它们,将它们封装在类(对象)中,用属性来表示,用程序语言(如C#.NET、VB.NET、JAVA等)来处理;.
对于数据库中的数据,常用数据表、行和列,以及它们之间的关系来组织它们,用SQL语言来处理它们;
对于XML数据,常用文件标签、元素、属性等来表示和组织它们,用XPath、XQuery等方法来处理它们。
如果需要混合处理多种不同类型的数据时,就出现了不同方法和模式之间结合的问题。在LINQ技术以前,.NET中的传统方法是先建立一个数据访问层,并将各种语句的处理方法作为字符串嵌入到应用程序中。这种情况带来了一些问题,例如:
设计人员必须掌握不同类型数据的处理方法,以及如何将它们无缝连接的问题。这个要求增加了学习的难度;
嵌入式的结合有时并不理想。以数据库为例,由于SQL属于后编译语言,语言中的一些问题不能在程序编译阶段,而只能在运行中才能发现。
7..1 什么是LINQ
LINQ 是 NET Language Integrated Query的缩写,中文名字是“NET 语言集成查询”,它是C#.NET 3.0语言的扩展,目前还能用于VB.NET语言(其发展的目标是能用于所有.NET语言)。与此同时,它还代表一组新的开发工具(Toolset)。
LINQ的目标是要将对各种不同类型数据的处理方式,统一在面向对象的模式之下.从而使得应用程序与数据的处理之间结合得更加紧密代码更加简洁、灵活。
如何才能实现这一目标呢?
实现的方法,就是在数据领域与对象领域之间架起一座桥梁,先将各种数据映射成"类"和"对象".然后再按照面向对象的方式来统一进行处理.映射的过程虽然比较复杂,但可以利用系统提供工具自动完成.系统的结构如图 所示:
LINQ实际上包括LINQ to Objects、LINQ to XML、LINQ to SQL、LINQ to DataSet与LINQ to Entities等多个部分.通过LINQ providers先将它们统一建立一个抽象层,然后再用面向对象的模式进行处理。
7..2 为什么需要LINQ
创建LINQ的初期目标,是将各种类型的数据访问统一到面向对象的模式中来。进一步发展的目标则是在面向对象的基础上,吸收各种现代语言的精华(如强类型、现代动态语言、函数式语言等),C#.NET 语言。
可以说LINQ带来的好处,一是可以统一各种数据访问模式;二是可以使C#.NET语言大大向前跨进一步,并在这个基础上创建出一批强大的开发工具。
LINQ经过多年的研究和开发(原来使用的名字是nHibernat),已经取得了丰硕成果,程序开发语言已经变得更加简洁、抽象。目前这个技术还在进一步发展和改进之中。
7.2 C# 3.0语言的新特点(此略)
。。。
1.动态属性:
2.扩展方法:
3.泛型:
4.匿名类型:
5.Lambda Expression:
。。。
7.3 LINQ语言基础
7.3.1 基本语法结构
建立在关系代数基础上的 SQL 语言是一种优秀的函数语言,它语法简洁,描述性强,只需要表达需要什么,不需要规定执行过程(T-SQL语言中增加过程部分)。但是SQL语言也存在局限性:
第一、它不属于面向对象的语言;
第二、它只能用来访问关系型数据库系统。
现在,在LINQ的查询语句中采用了很多SQL语言的形式,如使用以下子句:
from:用来确定数据源或变量的范围;
where:从数据源中过滤数据;
select:指定查询的结果;
group:将相关的数据用共同的关键字(key)分组;
into:将分组的结果暂存于一个变量中;
orderby:将查询结果按照升序(ascending)或降序(descending)排列;
join:根据关键字(key),将两个数据源联合;
let:创建一个临时的变量来代表子查询的结果。
语句中还可以包括一些函数(方法)。如:
Average:取元素的平均值;
Count: 取元素的个数;
Max: 取元素中的最大值;
Min: 取元素中的最小值;
Sum: 取元素值的总和;
这些都是在SQL语句中经常用到的,因此从形式上看,LINQ 语句与 SQL有很多相似之处。但尽管如此,应该明确,是两
您可能关注的文档
最近下载
- 索德格朗诗选.doc VIP
- 托马斯.特朗斯特罗姆诗选.doc VIP
- 能源管理工程思考题(含答案).doc VIP
- 南京师范大学《能源管理工程》2022-2023学年第一学期期末试卷.doc VIP
- 工作票实施规范(调度检修申请单部分).docx VIP
- GBZT201.3-2014 放射治疗机房的辐射屏蔽规范 第3部分:γ射线源放射治疗机房.pdf VIP
- 项目名称《三亚市天涯镇总体规划(2012-2020)》局部调整.PDF VIP
- 2025中华护理学会团体标准——成人患者医用粘胶相关性皮肤损伤的预防及护理.pptx
- 新增头部伽马刀、体部伽马刀项目环评.pdf VIP
- 凤凰单枞茶功效与作用.doc VIP
原创力文档


文档评论(0)