LINQ编程技术内幕

分类: 图书,计算机/网络,程序设计,其他,
作者: (美)基默 著,唐学韬 等译
出 版 社: 机械工业出版社
出版时间: 2009-6-1字数:版次: 1页数: 414印刷时间:开本: 16开印次:纸张:I S B N : 9787111267591包装: 平装内容简介
本书结合C# 3.0和Visual Studio 2008对LINQ进行了实操型讲解。本书介绍了LINQ编程的各个方面,展示了LINQ是如何帮你显著提高生产效率的,还告诉了你应当如何用LINQ创建具有更高可靠性和可维护性的应用程序。
本书首先介绍了LINQ所用到的最新的C#编程技术,比如匿名类型、分部方法以及Lambda表达式等。接着,通过具体的示例和易于改写的范例代码,分别针对对象、数据库和XML详细介绍了LINQ这个强大的新技术。你将会对LINQ的工作方式有一个深入而实用的理解,还会学到如何通过XML与其它数据模型的结合来实现各种各样的数据处理功能。
本书不仅适合LINQ的初学者,而且对.NET数据处理人员、ASP.NET开发人员和Windows Form开发人员都有非常大的帮助,同时也可以作为高等学校计算机或相关专业的教材使用。
Microsoft积极参与的LINQ查询技术使得程序员可以轻松地从任何数据源获取任何数据,而且不用关心这些数据是从哪来的,也不用关心这些数据是如何存储的。
本书是一本优秀的教学指南,它结合C# 3.0和Visual Studio 2008对LINQ进行了讲解。本书介绍了LINQ编程的各个方面,展示了LINQ是如何帮你显著提高生产效率的,还告诉了你应当如何用LINQ创建具有更高可靠性和可维护性的应用程序。
本书首先介绍了LINQ所用到的最新的C#编程技术,比如匿名类型、分部方法以及Lambda表达式等。接着,通过具体的示例和易于改写的范例代码,分别针对对象、数据库和XML详细介绍了LINQ这个强大的新技术。你将会对LINQ的工作方式有一个深入而实用的理解,还会学到如何通过XML与其他数据模型的结合来实现各种各样的数据处理功能。
本书包括以下内容:
编写高效的LINQ查询以处理.NET对象、SQL数据库以及XML数据。
利用匿名类型以降低编程难度,减少设计时间和调试时间。
利用yield return这个新概念自动生成.NET状态机。
掌握LINQ查询语法、运算符、扩展方法、排序、分组、聚合和集合操作等。
充分利用select以及在N层应用程序的业务层中使用它。
查询存储在Microsoft SQL Server中的关系型数据。
利用可空类型消除不必要的数据库访问代码。
结合ADO.NET 3.0以及Microsoft新推出的功能强大的Entity Framework使用LINQ。
提取XML数据(无需麻烦而复杂的XPath)。
从CSV文件和其他非XML数据中自动构造出XML。
通过对LINQ进行扩展的方式来查询活动目录。
作者简介
Paul Kimmel是一名有着20多年工作经验的软件架构师和.NET开发人员。他经常为企业和政府机构设计和实现大型应用程序。他编撰的技术书籍包括《Visual Basic.NET Power Coding》、《Advanced C# Programming》、《UML Demystified》以及《Visual Basic.NET Unleashed》。他连续四年当选为Microsoft MVP。
目录
译者序
序
前言
致谢
第一部分 为LINQ作准备
第1章 使用匿名类型
第2章 使用复合类型初始化
第3章 定义扩展方法和分部方法
第4章 yield return:使用.NET的状态机生成器
第5章 理解Lambda表达式和闭包
第6章 使用标准查询运算符
第二部分 针对对象的LINQ
第7章 对查询进行排序和分组
第8章 执行聚合运算
第9章 执行集合运算
第10章 掌握Select和Select Many
第11章 联接查询结果
第12章 查询Outlook和活动
第三部分 针对数据的LINQ
第13章 使用LINQ查询关系型数据
第14章 创建更好的实体以及映射继承和聚合
第15章 通过LINQ查询关联数据库表
第16章 更新匿名关系型数据
第17章 ADO.113NET 3.1130与Entity Framework简介
第四部分 针对XML的LINQ
第18章 从XML中提取数据
第19章 比较LINQ to XML与其他XML技术
第20章 从非XML数据构造XML
第21章 使用Xml Writer生成XM
第22章 将XML与其他数据模型相结合
第23章 LINQ to XSD支持类型化XML编程
书摘插图
第1章 使用匿名类型
“从开始的地方开始吧,一直读到末尾,然后停止。”
——出自Lewis Carroll所著的《爱丽丝漫游奇境记》
本章学习内容:
•理解匿名类型
•使用匿名类型
•匿名类型的数据绑定
•测试匿名类型的相等性
•通过LINQ查询使用匿名类型
•泛型匿名方法简介
对于计算机图书而言,寻找起点的工作往往都是比较主观的。这是因为许多东西会依赖于更多其他东西。通常,最好的办法就是在地上插一根木桩,然后直接从那里开始。匿名类型(Anonymous type)就是我们的木桩。
匿名类型使用关键字var。var是个很有意思的东西,因为直到今天,Pascal和Delphi仍然在使用它,不过Delphi中的var只是相当于Visual Basic(VB)中的ByRef或是C#中的ref。.NET3.5所引入的vat用于表示匿名类型。现在,我们那些使用VB的朋友们可能要说了,“嗯,variant我们已经用了很多年了,真是赚大了。”不过var既没有使C#简单化也没有使其复杂化。匿名类型是一种新的且很重要的东西。
在学习匿名类型之前,先来看看我们的最终目标。我们的最终目标是掌握C#中的针对对象、可扩展标记语言(Extensible Markup Language,XML)以及数据的LINQ(集成查询)。我们想要这么干的原因是因为它不仅很酷而且很有意思,更重要的是,它非常强大。为了实现这个最终目标,我们首先必须找到一个地方开始才行,这里,匿名类型就是我们的起点。
……