《LINQ编程技术内幕》


 附件: 您所在的用户组无法下载或查看附件

【原 书 名】  LINQ Unleashed: for C#
【作  者】(美)Paul Kimmel
【译  者】 唐学韬
【丛 书 名】 Microsoft核心技术丛书
【出 版 社】 机械工业出版社   
【书    号】 9787111267591
【出版日期】 2009 年6月

本书内容:

本书结合C# 3.0和Visual Studio 2008对LINQ进行了实操型讲解。本书介绍了LINQ编程的各个方面,展示了LINQ是如何帮你显著提高生产效率的,还告诉了你应当如何用LINQ创建具有更高可靠性和可维护性的应用程序。

本书首先介绍了LINQ所用到的最新的C#编程技术,比如匿名类型、分部方法以及Lambda表达式等。接着,通过具体的示例和易于改写的范例代码,分别针对对象、数据库和XML详细介绍了LINQ这个强大的新技术。你将会对LINQ的工作方式有一个深入而实用的理解,还会学到如何通过XML与其它数据模型的结合来实现各种各样的数据处理功能。

本书不仅适合LINQ的初学者,而且对NET数据处理人员、ASPNET开发人员和Windows Form开发人员都有非常大的帮助,同时也可以作为高等学校计算机或相关专业的教材使用。

目录

译者序

前言
致谢
第一部分为LINQ作准备
第1章使用匿名类型
1.1理解匿名类型
1.2使用匿名类型
1.2.1定义简单匿名类型
1.2.2使用数组初始化器语法
1.2.3创建复合匿名类型
1.2.4在for语句中使用匿名类型
索引
1.2.5匿名类型和using语句
1.2.6从函数返回匿名类型
1.3匿名类型的数据绑定
1.4测试匿名类型的相等性
1.5通过LINQ查询使用匿名类型
1.6泛型匿名方法简介
1.6.1使用匿名泛型方法
1.6.2实现内嵌的递归
1.7小结

第2章使用复合类型初始化
2.1通过命名类型初始化对象
2.1.1实现能够通过命名类型进行
复合类型初始化的类
2.1.2理解自动实现属性
2.2初始化匿名类型
2.3初始化集合
2.3.1完成Hypergraph
2.3.2使用观察者模式实现
Hypergraph控制器
2.4使用转换运算符
2.4.1ToArray
2.4.2OfType
2.4.3Cast
2.4.4AsEnumerable
2.4.5ToList
2.4.6ToDictionary
2.4.7ToLookup
2.5小结

第3章定义扩展方法和分部方法
3.1扩展方法及其使用规则
3.2定义扩展方法
3.2.1实现扩展方法
3.2.2重载扩展方法
3.2.3定义泛型扩展方法
3.3扩展方法是如何支持LINQ的
3.4实现一个“会说话的”字符串扩展
方法
3.5定义分部方法
3.6小结

第4章yield return:使用.NET的
状态机生成器
4.1理解yield return的工作方式
4.2使用yield return和yield break
4.2.1测试代码性能
4.2.2使用yield break
4.3小结

第5章理解Lambda表达式和闭包
5.1了解由函数指针到Lambda表达式
的演化过程
5.2编写基本的Lambda表达式
5.2.1自动属性
5.2.2阅读Lambda表达式
5.2.3Lambda表达式用作泛型活动
5.2.4搜索字符串
5.2.5Lambda表达式用作泛型谓词
5.2.6将Lambda表达式绑定到控件
事件
5.3利用Lambda表达式进行动态
编程
5.3.1使用Select<T>和Lambda
表达式
5.3.2使用Where<T>和Lambda
表达式
5.3.3使用OrderBy<T>和Lambda
表达式
5.3.4将Lambda表达式编译为代码
或数据
5.4Lambda表达式和闭包
5.5柯里化
5.6小结

第6章使用标准查询运算符
6.1了解LINQ是如何实现的
6.2构造一个LINQ查询
6.3筛选信息
6.4使用限定符
6.5利用Skip和Take实现分区操作
6.6使用生成运算
6.6.1DefaultIfEmpty
6.6.2Empty
6.6.3Range
6.6.4Repeat
6.7相等性测试
6.8从序列中获取特定元素
6.9通过Concat串联序列
6.10小结
第二部分针对对象的LINQ
第7章对查询进行排序和分组
7.1对信息进行排序
7.1.1按升序和降序排序
7.1.2直接使用扩展方法执行降序
排列
7.1.3执行次要排序
7.1.4翻转元素顺序
7.2对信息进行分组
7.3小结

第8章执行聚合运算
8.1聚合
8.2求集合平均值
8.3元素计数
8.4找出最小和最大的元素
8.5计算查询结果的总计
8.6中位数:实现一个自定义聚合
运算
8.7小结

第9章执行集合运算
9.1找出非重复元素
9.2通过Intersect和Except定义集合
9.3使用Union创建复合结果集
9.4小结

第10章掌握Select和SelectMany
10.1探究Select
10.1.1带有函数调用功能的选择
10.1.2使用Select谓词
10.1.3从数据访问层返回自定义
业务对象
10.1.4使用Select的索引打乱数组
10.1.5构造21点扑克牌游戏的
基础功能
10.1.6从计算所得的值上投影出
新类型
10.1.7引入DLL
10.1.8同时使用GDI+和Windows API
(或外部DLL)方法
10.1.9使用Select将单词的首字母
改为大写
10.2从多个源中投影出新类型
10.3使用SelectMany从多个序列中
创建出一个新序列
10.4在SelectMany中使用索引
10.5小结

第11章联接查询结果
11.1使用多个from子句
11.2定义内联接
11.3使用自定义(或非等式)联接
11.3.1实现非等式自定义联接
11.3.2实现带有多个谓词的自定义
联接
11.3.3实现带有临时范围变量的
自定义联接
11.4实现分组联接和左外联接
11.4.1定义分组联接
11.4.2实现左外联接
11.5实现交叉联接
11.6在组合键上定义联接
11.7小结

第12章查询Outlook和活动目录
12.1LINQ to Outlook
12.2通过纯C#代码查询活动目录
12.3LINQ to Active Directory
12.3.1创建IQueryable LINQ
Provider
12.3.2实现IQueryProvider
12.3.3将活动目录定义为数据源
12.3.4将LINQ查询转换成活动
目录查询
12.3.5实现辅助标签
12.3.6定义活动目录架构实体
12.4通过LINQ查询活动目录
12.5小结
第三部分针对数据的LINQ

第13章使用LINQ查询关系型
数据
13.1定义表对象
13.1.1将类映射到表
13.1.2查看由LINQ生成的查询
文本
13.2通过DataContext对象连接关系型
数据
13.3查询数据集
13.3.1从DataTable中获取数据
13.3.2查询DataTable时使用
Where子句
13.3.3使用分区方法
13.3.4在DataTable上进行排序
13.3.5在DataSet上定义联接
13.4SqlMetal:使用实体类生成工具
13.5使用LINQ to SQL类设计器
13.6小结

第14章创建更好的实体以及映射
继承和聚合
14.1使用可空类型定义更好的实体
14.2为LINQ to SQL映射继承层次
结构
14.2.1使用LINQ to SQL设计器创建
继承映射
14.2.2使用LINQ to SQL设计器修改
现有类
14.3将EntitySet类添加为属性
14.4使用LINQ to SQL创建数据库
14.5小结

第15章通过LINQ查询关联
数据库表
15.1通过LINQ to DataSet定义联接
15.1.1编写等式联接
15.1.2编写不等式联接
15.1.3定义左外联接以及右外
联接简介
15.1.4思考右联接
15.2通过LINQ to SQL定义联接
15.2.1编写等式联接
15.2.2实现分组连接
15.2.3实现左联接
15.3使用LINQ查询视图
15.3.1构建SQL Server中的视图
15.3.2使用LINQ to SQL查询视图
15.4使用LINQ to DataSet进行数据
绑定
15.5小结

第16章更新匿名关系型数据
16.1添加和移除数据
16.1.1通过LINQ to SQL插入数据
16.1.2通过LINQ to SQL删除数据
16.1.3通过LINQ to SQL更新数据
16.1.4使用存储过程
16.2调用用户自定义函数
16.3使用事务
16.4理解冲突解决
16.4.1为SubmitChanges指明冲突
处理模式
16.4.2捕获并解决并发冲突
16.5N层应用程序与LINQ to SQL
16.6小结

第17章ADO.NET 3.0与Entity
Framework简介
17.1理解问题和解决方案的一般性
本质
17.1.1理解跟C#程序员有关的关系型
数据库模型的问题
17.1.2理解Entity Framework是如何
解决这个问题的
17.1.3理解解决方案的本质
17.2寻找附加资源
17.2.1Wikipedia
17.2.2Entity SQL Blog
17.2.3下载并安装Entity Framework
17.2.4下载范例
17.2.5关注时事新闻
17.3通过普通的ADO.NET编程构建
一个简单的应用程序
17.3.1定义一个用以保存股票报价
的数据库
17.3.2添加一个用于插入报价信息
的存储过程
17.3.3添加一个外键
17.3.4参考:完整的示例数据库
脚本
17.3.5编写代码以获取股票报价并
更新数据库
17.4使用Entity Framework进行编程
17.4.1创建实体数据模型
17.4.2添加一个关联
17.4.3使用Entity SQL查询实体
数据模型
17.4.4使用LINQ to Entities查询
实体数据模型
17.5使用LINQ完成所有事情
17.6小结
第四部分针对XML的LINQ

第18章从XML中提取数据
18.1加载XML文档
18.2查询XML文档
18.2.1使用XDocument
18.2.2使用XElement
18.2.3管理属性
18.3从字符串中加载XML
18.4处理缺失的数据
18.5使用查询表达式和XML数据
18.5.1使用命名空间
18.5.2嵌套查询
18.5.3使用Where子句进行筛选
18.5.4根据上下文查找元素
18.5.5对XML查询进行排序
18.5.6通过let计算中间值
18.6批注节点
18.7小结

第19章比较LINQ to XML与
其他XML技术
19.1比较LINQ to XML和XPath
19.1.1使用命名空间
19.1.2查找子元素
19.1.3查找兄弟元素
19.1.4过滤元素
19.2比较LINQ to XML转换和XSLT
19.3通过函数构造来转换XML数据
19.4小结

第20章从非XML数据构造XML
20.1从CSV文件构造XML
20.2从XML生成文本文件
20.3使用XML和嵌入式LINQ
表达式(VB)
20.4小结

第21章使用XmlWriter生成XML
21.1快速浏览XmlWriter
21.2使用XmlTextWriter编写XML
文件
21.3小结

第22章将XML与其他数据模型
相结合
22.1从SQL数据创建XML
22.1.1定义对象关系映射
22.1.2从SQL数据构造XML文档
22.1.3使用XComment节点类型
22.1.4在TreeView中显示XML
文档
22.2从XML更新SQL数据
22.3小结

第23章LINQ to XSD支持类型化
XML编程
23.1理解LINQ to XSD的基本设计
目标
23.2使用LINQ to XSD进行编程
23.2.1下载并安装LINQ to XSD
Preview
23.2.2创建LINQ to XSD Preview
Console Application
23.2.3定义XML内容
23.2.4定义XML Schema文件
23.2.5向架构文件添加正则表达式
23.2.6使用LINQ to XML for Objects
进行查询
23.3小结

样章下载:
赞助商广告:
附件:您所在的用户组无法下载或查看附件

TOP