LINQ_语言基础文档

LINQ_语言基础文档

ID:46865308

大小:75.50 KB

页数:6页

时间:2019-11-28

LINQ_语言基础文档_第1页
LINQ_语言基础文档_第2页
LINQ_语言基础文档_第3页
LINQ_语言基础文档_第4页
LINQ_语言基础文档_第5页
资源描述:

《LINQ_语言基础文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、专题2:Web的后端开发第7章LINQ语言基础7.1概述计算机的主要任务Z—就是处理数据,因此计算机程序可以简单归纳为:计算机程序=程序语言+数据处理随着计算机应用范围的扩展,数据的类型在不断增加•程序中需要处理各种数据的数据,这些数据包括:口定义变量、内存中的数据集合、来口数据库的数据,XML和平而文件,另外还有WebServices以及RSS数据等等。不同类型的数据都有自己追求目标和不同的处理方法。例如:■对于自定义变量或者内存中的数据集合,通常用面向对象的方式来处理它们,将它们封装在类(対象)中,用属性來表示,用程序语言(如C#.NET、VB.NET、JA

2、VA等)来处理;.■对于数据库屮的数据,常用数据表、行和列,以及它们之间的关系来组织它们,用SQL语言来处理它们;■对于XML数据,常用文件标签、元素、属性等来表示和组织它们,用XPath>XQuery等方法来处理它们。如果需要混合处理多种不同类型的数据时,就出现了不同方法和模式之间结合的问题。在LINQ技术以而,.NET中的传统方法是先建立-•个数据访问层,并将各种语句的处理方法作为字符串嵌入到应用程序中。这种情况带来了一些问题,例如:■设计人员必须掌握不同类型数据的处理方法,以及如何将它们无缝连接的问题。这个要求增加了学习的难度;■嵌入式的结合有时并不理想。

3、以数据库为例,由于SQL属于后编译语言,语言中的一些问题不能在程序编译阶段,而只能在运行中才能发现。7」」什么是LINQLINQ是NETLanguageIntegnitedQuery的缩写,中文名字是“NET语言集成查询”,它是C#.NET3.0语言的扩展,目前还能用于VB.NET语言(其发展的目标是能用于所有.NET语言)。与此同时,它述代表一组新的开发工具(Toolset)。LINQ的目标是要将对各种不同类型数据的处理方式,统一在面向对象的模式之下.从而使得应用程序与数据的处理之间结合得更加紧密,代码更加简洁、灵活。如何才能实现这一目标呢?实现的方法,就是在

4、数据领域与对彖领域Z间架起一座桥梁,先将各种数据映射成”类“和”对象”.然后再按照面向对象的方式來统一进行处理.映射的过程虽然比较复杂,但可以利用系统提供工具自动完成.系统的结构如图所示:Piro&jreimmingLeiri&uaL&eCttVTB.NET...oTtxersLINQ实际上包括LINQtoObjects>LINQtoXML、LINQtoSQL、LINQtoDataSet与LINQtoEntities等多个部分.通过LINQproviders先将它们统一建立一个抽象层,然麻再用面向对象的模式进行处理。7.1.2为什么需要LINQ创建LINQ的初期

5、目标,是将各种类型的数据访问统一到而向对象的模式中來。进一步发展的FI标则是在面向对彖的革础上,吸收各种现代语言的精华(如强类型、现代动态语言、函数式语言等),使C#.NET语言发展到更高的阶段,更加符合新技术的要求。可以说LINQ带來的好处,一是可以统一各种数据的访问模式;二是可以使C#.NET语言人人向前跨进一步,并在这个基础上创建出一批强人的开发工具。LINQ经过多年的研究和开发(原来使用的名字是nHibernat),已经取得了丰硕成果,程序开发语言已经变得更加简洁、抽彖。目前这个技术述在进一步发展和改进Z中。7.2C#3.0语言的新特点(此略)OOO1.

6、动态属性:2.扩展方法:3.泛型:4.匿名类型:5.LambdaExpression:ooo7.3LINQ语言基础7.3.1基本的语法结构建立在关系代数基础上的SQL语言是一种优秀的函数语言,它语法简洁,描述性强,只需耍表达需要什么,不需耍规定执行过程(在T-SQL语言屮增加了过程部分)。但是SQL语言也存在一些局限性:第一、它不属于面向对象的语言;第二、它只能用来访问关系型数据库系统。现在,在LINQ的查询语句中采用了很多SQL语言的形式,如使用以下子句:■from:用來确定数据源或变量的范围;■where:从数据源屮过滤数据;■select:指定查询的结果;

7、■group:将相关的数据用共同的关键字(key)分组;■into:将分组的结果暂存于一个变量中;■orderby:将査询结果按照升序(ascending)或降序(descending)排列;■join:根据关键字(key),将两个数据源联合;■let:创建一个临时的变量來代表子查询的结果。语句中还町以包括一些系统函数(方法)。如:Average:取元索的平均值;Count:取元素的个数;Max:取元索中的最大值;Min:収元素中的最小值;Sum:収元素值的总和;这些都是在SQL语句屮经常川到的,因此从形式上看,LINQ语句与SQL有很多相似之处。但尽管如此,还

8、应该明确,LINQ与SQ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。