【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方法,来将所做的更改 提交到数据库中: ndc.SubmitChanges8.3.3 数据的修改 要进行数据的修改操作时,可以通过数据序列的 Single方法取得满足一定条件的唯一记录。
然 后进行更新操作。
在更新后调用SubmitChanges 方法,来对数据库进行更新。
下面的代码演示了 如何进行数据的编辑。
8.4 LinqDataSource控件实现数据的增、删、改 在
ASP.NET 3.5中,提供了一个全面支持LINQ的数据源控件,使用 它可以很方便快速的完成数据的检索、插入、修改和删除操作。
使用LinqDataSource控件,可以获取来自一个数据库中的数据, 还可以获取一个内存数据集中的数据例如一个数组。
建立一个 Linq To Sql数据模型的方法如下所示。
8.5 小结 LINQ的出现,为对象领域和数据领域之间架起了 一座桥梁。
本章主要介绍了LINQ的架构、语法和 与其他数据源的交互。
演示了LINQ使用语言关键 字和熟悉的运算符,来针对强类型化对象集合编 写查询。
在本章的最后,还对可以操作LINQ数据 模型的数据源控件LinqDataSource的应用进行了 介绍。
本章的重点在于LINQ与SQL Server数据库的交 互,包括了对SQL数据的查询、修改、新增和删除 等操作。
需要重点掌握将LINQ技术与其他数据控 件进行配合使用,要充分利用其他数据控件自身 的某些特性与LINQ操作数据的优势,以完成高 效、完善的项目开发。
上一篇:
【精品】网站设计毕业论文
下一篇:
英文课程作业:电影库(Piddington library )建立方案分析