【Asp.net精品源码栏目提醒】:网学会员在Asp.net精品源码频道为大家收集整理了“【精品】第8章 LINQ简介 - 大学课件“提供大家参考,希望对大家有所帮助!
第8章 LINQ简介 在.NET Framework 3.5版和Visual Studio 2008 中,有一项突破性的技术:语言集成查询 (LINQ)。
它为对象领域和数据领域之间架起了 一座桥梁。
LINQ使查询成为C 和 Visual Basic 中的一种语言构造。
可以使用语言关键字和熟悉 的运算符,来针对强类型化对象集合编写查询。
本章主要介绍LINQ的作用以及LINQ的语法。
并介 绍LINQ对数据集的操作。
【本章示例参考:
源代码C08】8.1 LINQ基础 LINQ引入了标准的、易于学习的查询和更新数据 模式,可以对其技术进行扩展以支持几乎任何类 型的数据存储。
Visual Studio 2008包含了LINQ 提供程序的所有
程序集,这些程序集支持将LINQ 与NET Framework集合、SQL Server数据库、 ADO.NET数据集和XML
文档一起使用。
8.1.1 为什么要使用LINQ 现在的数据格式越来越多,数据库、XML、数组、哈希表……每一种都有 自己操作数据的方式,全部掌握就显得比较吃力。
而LINQ则以一种统一的 方式操作各种数据源,减少数据访问的复杂性。
LINQ带来很多开发上的便利。
首先,它可以利用Visual Studio2008这个 强大的IDE,来进行SQL语句编写时,可以有智能感应功能,这比起在
SQL Server中使用用查询分析器写SQL语句就方便多了,同时它可以把数据当 成一个对象来操作。
LINQ架构如图8.1所示。
8.1.2 LINQ的语法 LINQ使查询成为了.
NET中一种编程概念,被查询的数据可以是XML (LINQ To XML)、Databases(LINQ To SQL、LINQ To Dataset、LINQ To Entities)和对象(LINQ To Objects)。
LINQ也是可扩展的,允许建立自定义的LINQ数据提供者。
为了讲解方便请看下面的两个查询表达式: var reault From s in Students Where s.Name”wangyuanfeng” Select news.Names.Ages.Language 该语句等价于下面的语句: var reault Students .Wheres s.Name ”wangyuanfeng” .Selects. new s.Name.Ages.Language 8.2 LINQ对数据集(Dataset) DataSet是ADO.NET中使用频率最高的组件之一,但DataSet也限制了查询 功能。
通过使用可用于许多其他数据源的相同
查询功能,LINQ to DataSet可将更丰富的查询功能应用于同DataSet的交互中。
通过使用LINQ to DataSet,可以更快更容易地查询在DataSet对象中缓存的数据。
对DataSet对象使用LINQ查询时,并不是对自定义类型的枚举所进行的查 询,而是查询DataRow对象的枚举: var query from p in Employees.AsEnumerable select p 然后可以通过使用foreach语句来遍历查询后所返回的可枚举对象: foreach DataRow p in query //格式化输出 Response.Writep.FieldEmployeeID ... p.FieldCountry Response.Write 8.3 LINQ与SQL的交互 在LINQ to SQL中,关系数据库的数据模型,被映 射到用开发人员所用的编程语言表示的对象模型 中。
本节将介绍LINQ to SQL的一些技术,包括了 数据的插入、查询、修改和删除等操作。
8.3.1 数据的查询和删除 通常,对数据操作使用最频繁的就是数据的检索了。
本小节将介绍在LINQ to SQL中,如何对数据进行检索和删除。
要进行数据的删除时,可先使用Single方法来获取满足条件的单条记 录: Employee em ndc.Employees.Singleemp emp.EmployeeID iEmployeeID //获取单条记录 //删除数据 然后再使用数据序列的DeleteOnSubmit方法,就可以完成数据的删除操 作: ndc.Employees.DeleteOnSubmitem 然后调用SubmitChanges方法,将所做的删除应用到数据库: ndc.SubmitChanges 在操作时,可借助GridView的选择功能。
在其SelectedIndexChanged事 件中,完成对所选数据的删除
工作。
8.3.2 数据的插入 向对象中新增数据时,首先要建立该对象的实 例。
如下面的代码就建立了Employee对象 (Employee表)的实例。
Employee em new Employee 在使用相应的值填充对象中的字段后,需要首先 调用InsertOnSubmit方法进行对象实体的添加: ndc.Employees.InsertOnSubmitem 然后调用SubmitChanges方法