ASP.NET 4.0 Web程序设计 教学课件 ppt 作者 刘艳丽 张恒 第10章 使用LINQ

上传人:E**** 文档编号:89338021 上传时间:2019-05-23 格式:PPT 页数:27 大小:183.50KB
返回 下载 相关 举报
ASP.NET 4.0 Web程序设计 教学课件 ppt 作者  刘艳丽 张恒 第10章  使用LINQ_第1页
第1页 / 共27页
ASP.NET 4.0 Web程序设计 教学课件 ppt 作者  刘艳丽 张恒 第10章  使用LINQ_第2页
第2页 / 共27页
ASP.NET 4.0 Web程序设计 教学课件 ppt 作者  刘艳丽 张恒 第10章  使用LINQ_第3页
第3页 / 共27页
ASP.NET 4.0 Web程序设计 教学课件 ppt 作者  刘艳丽 张恒 第10章  使用LINQ_第4页
第4页 / 共27页
ASP.NET 4.0 Web程序设计 教学课件 ppt 作者  刘艳丽 张恒 第10章  使用LINQ_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《ASP.NET 4.0 Web程序设计 教学课件 ppt 作者 刘艳丽 张恒 第10章 使用LINQ》由会员分享,可在线阅读,更多相关《ASP.NET 4.0 Web程序设计 教学课件 ppt 作者 刘艳丽 张恒 第10章 使用LINQ(27页珍藏版)》请在金锄头文库上搜索。

1、第10章 使用LINQ,本章主要内容,10.1 LINQ技术基础 10.2 LinqDataSource数据源控件 10.3 使用LINQ实现数据访问 10.4 数据绑定与LINQ技术结合,10.1 LINQ技术基础,语言集成查询(Language-Integrated Query,LINQ)是Microsoft公司推出的一项新技术,它能够将查询直接引入.NET Framework 3.5所支持的编程语言(如C#和VB.NET等)。LINQ查询操作可以通过编程语言自身传达,而不是以字符串嵌入应用程序中。,LINQ主要由3部分组成: (1)LINQ to ADO.NET:可以分为两部分,即LIN

2、Q to SQL和LINQ to DataSet。 (2)LINQ to Objects组件:可以查询Ienumerable或Ienumerable集合,也就是说可以查询任何可枚举的集合 (3)LINQ to XML组件:可以查询或操作XML结构的数据(如XML文档、XML片段、XML格式的字符串等),LINQ架构,10.2 LinqDataSource数据源控件,LinqDataSource控件的工作方式与其他数据源控件一样,也是把在控件上设置的属性转换为可以在目标数据对象上执行的查询。SqlDataSource控件可以根据属性设置生成SQL语句,LinqDataSource控件也可以把属性

3、设置转换为有效的LINQ查询。,LinqDataSource还包含许多其他的基本配置选项,它们可用于控制从上下文对象中选择数据。配置向导还允许选择要包含在其结果集中的指定字段。 把控件绑定到GridView上,现在就只能看到这2个指定的字段了。如果没有指定Select属性,LinqDataSource控件就返回数据对象的所有公共属性。,10.3 使用LINQ实现数据访问,LINQ集成于.NET Framework 3.5中,提供了统一的语法实现多种数据源的查询和管理。它与.NET支持的编程语言整合为一体,使得数据的查询和管理直接被嵌入编程语言的代码中,这样,就能充分利用Visual Studi

4、o 2010的智能提示功能,并且编译器也能检查查询表达式中的语法错误。,10.3.1 LINQ查询表达式,LINQ查询表达由一个或多个LINQ查询子句按照一定规则组成,其中包括以下子句。 from子句:指定查询操作的数据源和范围变量。 select子句:指定查询结果的类型和表现形式。 where子句:指定筛选元素的逻辑条件。 group子句:对查询结果进行分组。 orderby子句:对查询结果进行排序。 join子句:连接多个查询操作的数据源。 let子句:引入用于存储查询表达式中的子表达式结果的范围变量。 into子句:提供一个临时标识符,该标识符可以在join、group或select子句

5、中引用。,1From子句,LINQ查询表达式必须包括from子句,且以from子句开头。from子句用于指定查询操作的数据源和范围变量。具体实现请参考源代码下ch10_3网站中的LinqFrom.aspx.cs文件.,2Where子句,在LINQ查询表达式中,where子句指定筛选元素的逻辑条件,一般由逻辑运算符组成。具体实现请参考源代码下ch10_3网站中的LinqWhere.aspx.cs文件.,3select子句,在LINQ查询表达式中,select子句指定查询结果的类型和表达式。LINQ查询表达式必须以select子句或group子句结束。具体实现请参考源代码下ch10_3网站中的Li

6、nqSelect.aspx.cs文件.,4orderby子句,在LINQ查询表达式中,orderby子句可以对查询结果进行排序。排序表达式可以为“升序”或“降序”,且排序的主键可以是一个或多个。默认排序方式为“升序”。具体实现请参考源代码下ch10_3网站中的LinqOrderby.aspx.cs文件.,10.3.2 LINQ to SQL概述,LINQ最大的特点是使用LINQ的查询表达式来查询数据库,LINQ将查询语法转换为相应的SQL语句。LINQ to SQL为关系数据库提供了一个对象模型,即将关系数据库映射为类对象。开发人员将以操作对象的方式实现对数据的查询、修改、插入和删除等操作。

7、当LINQ to SQL从数据库中读出记录时,这些数据库记录将被转换为一组内存对象。,10.3.3 建立LINQ数据源,使用LINQ查询或管理数据库,需要建立LINQ数据源。LINQ数据源专门使用DBML文件作为数据源。具体实现请参考源代码下ch10_3App_CodeMyPetShop.dbml,10.3.4 使用LINQ to SQL查询数据,在LINQ to SQL技术中,经过DataContext类和数据表类将数据库和数据表进行封装后,就可以使用LINQ的查询表达式或操作方法进行数据查询了。如果使用LINQ查询表达式,则先转换成操作方法,再由操作方法转换成相应的SQL语句。,常用的操作

8、方法有如下几种。 (1)投影:可采用select子句通过投影操作实现。投影后的结果将生成一个新对象,该对象通常是匿名的。 (2)选择:实现了记录的过滤,由where子句完成。 (3)排序:使用orderby子句根据属性值按升序或降序排列。 (4)分组:使用groupby子句,若要引用组操作的结果,可以使用into子句创建用于进一步查询的标识符。,(5)聚合:主要涉及Count()、Max()、Min()、Average()等方法。当使用Max()、Min()、Average()等方法时,参数常使用Lambda表达式。 (6)Lambda表达式:“输入参数”可以为空、1个或多个。当输入参数个数为

9、1时,可省略括号;“=”称为Lambda运算符,读作“goes to”;语句块反映了Lambda表达式的结果。当把Lambda表达式运用于Max()、Min()、Average()等聚合方法时,编译器会自动推断输入参数的数据类型。 (7)连接:多表连接查询使用join子句,但对于具有外键约束的多表,可以直接通过引用对象的形式进行查询,当然也可以使用join子句实现。,使用LINQ to SQL查询数据实例,通过一个实例讲解查询数据的一些常用操作方法,具体实现请参考源代码下ch10_3LinqSqlQuery.aspx,10.3.5 使用LINQ to SQL管理数据,使用LINQ to SQL

10、不仅可以查询数据库的数据,还能向数据库中添加、修改、删除数据。这些功能主要通过Table泛型类的InsertOnSubmit()、DeleteOnSubmit()和SubmitChanges()方法来实现。其中SubmitChanges()方法计算要插入、更新或删除的已修改对象的集合,并执行相应命令以实现对数据库的更改。,使用LINQ to SQL管理数据,具体实现请参考源代码下ch10_3LinqSqlManageData.aspx,10.3.6 LINQ to XML概述,LINQ to XML是一种启用了LINQ的内存XML编程接口,使用它,可以在.NET Framework编程语言中处

11、理XML。它将XML文档置于内存中,这一点很像文档对象模型(DOM)。用户可以查询和修改XML文档,修改之后,可以将其另存为文件,也可以将其序列化然后通过网络发送。,LINQ to XML提供了改进的XML编程接口,这一点可能与LINQ to XML的LINQ功能同样重要。通过LINQ to XML对XML编程时,可以实现任何预期的操作,包括: 从文件或流加载XML。 将XML序列化为文件或流。 使用函数构造从头开始创建XML。 使用类似XPath的轴查询XML。 使用Add、Remove、ReplaceWith和SetValue等方法对内存XML树进行操作。 使用XSD验证XML树。 使用这

12、些功能的组合,可将XML树从一种形状转换为另一种形状。,10.3.7 使用LINQ to XML管理XML文档,常用LINQ to XML类有以下几种。 XDocument类:表示一个XML文档。调用其Save()方法可建立XML文档。 XDeclaration类:表示XML文档中的声明,包括版本、编码等。 XComment类:表示XML文档中的注释。 XAttribute类:表示XML元素的属性,是一个名称/值对。 XElement类:表示XML文档中的元素,可包含任意多级别的子元素。,LINQ to XML管理XML文档实例,下面通过一个具体的实例说明如何使用LINQ to XML管理XM

13、L文档。该实例中首先创建一个XML文档,并保存到BookLinq.xml文件中,然后对该文档进行查询、插入、修改、删除操作,具体实现请参考源代码下ch10_3LinqXml.aspx,10.4 数据绑定与LINQ技术结合,LinqDataSource控件是一个新的数据源绑定控件,通过该控件可以直接插入、更新、删除DataContext实体类下的数据,从而实现操作数据库的功能。,数据绑定与LINQ技术结合实例,下面结合一个简单的实例,介绍两种LinqDataSource控件绑定数据的方法,一种是借助于VS 2010向导实现数据绑定,另一种是编程方式。具体实现请参考源代码下ch10_4LinqBind.aspx,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号