微信扫一扫,移动浏览光盘
简介
《精通LINQ程序设计》全面、深入地剖析了LINQ的特性。全书分为6个部分,包括18章和3个附录。内容涵盖LINQ基础、针对关系数据的LINQ、LINQ和XML、高级LlNQ和LINQ的应用等。《精通LINQ程序设计》丰富的示例可供读者研习之用,也可在自行开发解决方案时作为基础代码。《精通LINQ程序设计》的示例同时适用于C#和Visual Basic的开发人员。
《精通LINQ程序设计》的目标读者是.NET开发人员,尤其是已经掌握.NET 2.0并准备升级到.NET 3.5乃至4.0的开发人员。
目录
目录
第Ⅰ部分 LINQ基础
第1章 LINQ简介
1.1 LINQ是什么
1.2 为什么需要LINQ
1.3 LINQ如何工作
1.3.1 关系模型与层/网络模型的比较
1.3.2 操作XML数据
1.4 语言集成
1.4.1 声明性编程
1.4.2 类型检测
1.4.3 透明跨越不同的类型系统
1.5 LINQ实现形式
1.5.1 LINQ to Objects
1.5.2 LINQ to ADO.NET
1.5.3 LINQ to XML
1.6 小结
第2章 LINQ语法基础
2.1 LINQ查询
2.1.1 查询语法
2.1.2 完整的查询语法
2.2 查询关键字
2.2.1 from子句
2.2.2 where子句
2.2.3 select子句
2.2.4 group和into子句
2.2.5 orderby子句
2.2.6 join子句
2.2.7 let子句
2.2.8 其他的Visual Basic 2008关键字
2.3 延迟查询求值和扩展方法解析
2.3.1 延迟查询求值
2.3.2 扩展方法解析
2.4 关于LINQ查询的最后一些思考
2.4.1 退化查询表达式
2.4.2 异常处理
2.5 小结
第3章 LINQ to Objects
3.1 查询操作符
3.1.1 Where操作符
3.1.2 投影操作符
3.1.3 排序操作符
3.1.4 分组操作符
3.1.5 联接操作符
3.1.6 集合操作符
3.1.7 聚合操作符
3.1.8 Visual Basic 2008中的聚合操作符
3.1.9 生成操作符
3.1.10 量词操作符
3.1.11 分区操作符
3.1.12 元素操作符
3.1.13 其他操作符
3.2 转换操作符
3.2.1 AsEnumerable
3.2.2 ToArray和ToList
3.2.3 ToDictionary
3.2.4 ToLookup
3.2.5 OfType和Cast
3.3 小结
第Ⅱ部分 针对关系数据的LINQ
第4章 LINQ to SQL:查询数据
4.1 LINQ to SQL中的实体
4.2 数据建模
4.2.1 DataContext类
4.2.2 实体类
4.2.3 实体继承
4.2.4 唯一的对象标识符
4.2.5 实体约束
4.2.6 实体间的关联
4.2.7 关系模型与分层模型的对比
4.3 数据查询
4.3.1 投影
4.3.2 存储过程和用户自定义函数
4.3.3 编译查询
4.3.4 查询数据的不同方法
4.3.5 直接查询
4.3.6 实体的延迟载入
4.3.7 属性的延迟载入
4.3.8 访问只读的DataContext
4.3.9 LINQ to SQL的局限性
4.4 在LINQ to SQL的环境中进行思考
4.4.1 IN/EXISTS子句
4.4.2 精简的SQL查询
4.4.3 .NET代码与SQL查询的混合
4.5 小结
第5章 LINQ to SQL:管理数据
5.1 CRUD和CUD操作
5.1.1 实体更新
5.1.2 数据库更新
5.1.3 自定义插入、更新和删除操作
5.2 数据库交互
5.2.1 并发操作
5.2.2 事务
5.2.3 异常
5.3 数据库和实体
5.3.1 保留有效关系的实体属性
5.3.2 派生实体类
5.3.3 附加实体
5.3.4 绑定元数据
5.3.5 .NET和SQL类型体系的区别
5.4 小结
第6章 LINQ to SQL的工具
6.1 文件类型
6.1.1 DBML(数据库标记语言)
6.1.2 C#和Visual Basic源代码
6.1.3 XML(外部的映射文件)
6.1.4 LINQ to SQL文件的生成
6.2 SQLMetal
6.2.1 从数据库生成DBML文件
6.2.2 从数据库生成源代码和映射文件
6.2.3 从DBML文件生成源代码和映射文件
6.3 使用对象关系设计器
6.3.1 DataContext的属性
6.3.2 实体类
6.3.3 实体间的关联
6.3.4 实体继承
6.3.5 存储过程和用户自定义函数
6.3.6 视图和架构支持
6.4 小结
第7章 LINQ to DataSet
7.1 LINQ to DataSet简介
7.2 使用LINQ载入数据集
7.2.1 用LINQ to SQL载入数据集
7.2.2 用LINQ to DataSet载入数据
7.3 使用LINQ查询数据集
7.3.1 内部的DataTable.AsEnumerable
7.3.2 用LINQ创建DataView实例
7.3.3 使用LINQ查询具有类型的DataSet
7.3.4 访问没有类型的DataSet数据
7.3.5 DataRow比较
7.4 小结
第8章 LINQ to Entities
8.1 查询实体数据模型
8.1.1 概述
8.1.2 查询表达式
8.2 管理数据
8.3 查询引擎
8.3.1 查询的执行
8.3.2 深入ObjectQuery<T>
8.3.3 经过编译的查询
8.4 LINQ to SQL和LINQ to Entities
8.5 小结
第Ⅲ部分 LINQ和XML
第9章 LINQ to XML:管理XML Infoset
9.1 LINQ to XML简介
9.2 LINQ to XML编程
9.2.1 XDocument
9.2.2 XElement
9.2.3 XAttribute
9.2.4 XNode
9.2.5 XName和XNamespace
9.2.6 其他的X*类
9.2.7 XStreamingElement
9.2.8 XObject和Annotations
9.3 读取、遍历与改变XML
9.4 小结
第10章 LINQ to XML:查询节点
10.1 查询XML
10.1.1 Attribute和Attributes
10.1.2 Element和Elements
10.1.3 “类似”扩展方法的XPath轴
10.1.4 XNode选择方法
10.1.5 InDocumentOrder
10.2 延迟的查询求值
10.3 对XML的LINQ查询
10.4 使用LINQ to XML转换XML
10.5 支持XSD和类型节点的有效性
10.6 支持XPath和System.Xml.XPath
10.7 LINQ to XML的安全性
10.8 LINQ to XML序列化
10.9 小结
第Ⅳ部分 高级LINQ
第11章 表达式目录树详解
11.1 lambda表达式
11.2 什么是表达式目录树
11.2.1 创建表达式目录树
11.2.2 封装
11.2.3 不可变和修改
11.3 解析表达式目录树
11.3.1 Expression类
11.3.2 表达式目录树节点类型
11.3.3 实用节点
11.4 访问表达式目录树
11.5 动态构建表达式目录树
11.5.1 编译器如何产生表达式目录树
11.5.2 合并现有的表达式目录树
11.5.3 动态组成表达式目录树
11.6 小结
第12章 扩展LINQ
12.1 自定义操作符
12.2 现有操作符的特化
12.2.1 危险的做法
12.2.2 特化的限制
12.3 创建自定义的LINQ提供程序
12.3.1 IQueryable接口
12.3.2 从IEnumerable到IQueryable与从IQueryable到IEnumerable
12.3.3 IQueryable和IQueryProvider的本质
12.3.4 编写FlightQueryProvider
12.4 小结
第13章 并行LINQ
13.1 .NET Framework并行扩展
13.1.1 Parallel.For和Parallel.ForEach方法
13.1.2 Do方法
13.1.3 Task类
13.1.4 Future<T>类
13.1.5 并发考虑
13.2 使用PLINQ
13.2.1 PLINQ使用的线程
13.2.2 PLINQ的实现形式
13.2.3 PLINQ的用法
13.2.4 并行执行的副作用
13.2.5 PLINQ的异常处理
13.2.6 PLINQ和其他的LINQ实现形式
13.3 小结
第14章 其他的LINQ实现形式
14.1 数据库访问
14.2 没有数据库的数据访问
14.3 LINQ to Entity域模型
14.4 LINQ to Services
14.5 系统工程师的LINQ
14.6 动态的LINQ
14.7 其他的LINQ增强功能和工具
14.8 小结
第Ⅴ部分 LINQ的应用
第15章 在多层解决方案中的LINQ
15.1 多层解决方案的特征
15.2 两层解决方案中的LINQ to SQL
15.3 在n层解决方案中的LINQ
15.3.1 用LINQ to SQL替代DAL
15.3.2 用XML外部映射抽取LINQ to SQL
15.3.3 在实际的抽象内容中使用LINQ to SQL
15.3.4 用LINQ to XML作为数据层
15.3.5 用LINQ to Entities作为数据层
15.4 在业务层中的LINQ
15.4.1 优化代码的LINQ to Objects
15.4.2 IQueryable<T>与IEnumerable<T>的对比
15.4.3 识别正确的工作单元
15.4.4 处理事务
15.4.5 并发性和线程安全
15.5 小结
第16章 LINQ和ASP.NET
16.1 ASP.NET 3.5
16.1.1 ListView
16.1.2 ListView数据绑定
16.1.3 DataPager
16.2 LinqDataSource
16.2.1 用LinqDataSource和DataPager分页数据
16.2.2 用LinqDataSource处理数据修改
16.2.3 用LinqDataSource进行自定义选取
16.2.4 使用具有自定义类型的LinqDataSource
16.3 绑定LINQ查询
16.4 小结
第17章 LINQ和WPF/Silverlight
17.1 与WPF一起使用LINQ
17.1.1 绑定单个实体和属性
17.1.2 绑定实体集
17.2 与Silverlight一起使用LINQ
17.3 小结
第18章 LINQ和Windows通信层编程框架
18.1 WCF综述
18.1.1 WCF协议和服务
18.1.2 面向服务的协议
18.1.3 端点和服务宿主
18.1.4 服务用户
18.2 WCF和LINQ to SQL
18.2.1 LINQ to SQL的实体和序列化
18.2.2 用WCF发布LINQ to SQL的实体
18.2.3 采取WCF使用LINQ to SQL的实体
18.3 LINQ to Entities和WCF
18.4 查询表达式序列化
18.5 小结
第Ⅵ部分 附录
附录A ADO.NET实体框架
A.1 ADO.NET的标准方法
A.2 从物理层抽取
A.3 实体数据模型
A.3.1 实体数据模型文件
A.3.2 实体数据模型设计器和向导
A.3.3 实体数据模型生成工具
A.3.4 实体数据模型规则和定义
A.4 用ADO.NET查询实体
A.5 用LINQ查询ADO.NET实体
A.6 用对象服务管理数据
A.6.1 对象身份管理
A.6.2 事务性操作
A.7 手动实现的实体
A.8 LINQ to SQL和ADO.NET实体框架
A.9 小结
附录B C# 3.0:新语言特征
B.1 重温C# 2.0
B.1.1 泛型
B.1.2 委托
B.1.3 匿名方法
B.1.4 枚举量和Yield
B.2 C# 3.0特征
B.2.1 自动实现的属性
B.2.2 本地类型推断
B.2.3 lambda表达式
B.2.4 扩展方法
B.2.5 对象初始化表达式
B.2.6 匿名类型
B.2.7 查询表达式
B.2.8 局部方法
B.3 小结
附录C Visual Basic 2008:新语言特征
C.1 Visual Basic 2008和可空类型
C.2 If操作符
C.3 Visual Basic 2008对应于C# 3.0的特征
C.3.1 本地类型推断
C.3.2 扩展方法
C.3.3 对象初始化表达式
C.3.4 匿名类型
C.3.5 查询表达式
C.3.6 lambda表达式
C.3.7 闭包
C.3.8 局部方法
C.4 Visual Basic 2008和C# 3.0不对应的特征
C.4.1 XML支持
C.4.2 非严格委托
C.5 C# 3.0和Visual Basic 2008不对应的特征
C.5.1 yield关键字
C.5.2 匿名方法
C.6 小结
*Sx
第Ⅰ部分 LINQ基础
第1章 LINQ简介
1.1 LINQ是什么
1.2 为什么需要LINQ
1.3 LINQ如何工作
1.3.1 关系模型与层/网络模型的比较
1.3.2 操作XML数据
1.4 语言集成
1.4.1 声明性编程
1.4.2 类型检测
1.4.3 透明跨越不同的类型系统
1.5 LINQ实现形式
1.5.1 LINQ to Objects
1.5.2 LINQ to ADO.NET
1.5.3 LINQ to XML
1.6 小结
第2章 LINQ语法基础
2.1 LINQ查询
2.1.1 查询语法
2.1.2 完整的查询语法
2.2 查询关键字
2.2.1 from子句
2.2.2 where子句
2.2.3 select子句
2.2.4 group和into子句
2.2.5 orderby子句
2.2.6 join子句
2.2.7 let子句
2.2.8 其他的Visual Basic 2008关键字
2.3 延迟查询求值和扩展方法解析
2.3.1 延迟查询求值
2.3.2 扩展方法解析
2.4 关于LINQ查询的最后一些思考
2.4.1 退化查询表达式
2.4.2 异常处理
2.5 小结
第3章 LINQ to Objects
3.1 查询操作符
3.1.1 Where操作符
3.1.2 投影操作符
3.1.3 排序操作符
3.1.4 分组操作符
3.1.5 联接操作符
3.1.6 集合操作符
3.1.7 聚合操作符
3.1.8 Visual Basic 2008中的聚合操作符
3.1.9 生成操作符
3.1.10 量词操作符
3.1.11 分区操作符
3.1.12 元素操作符
3.1.13 其他操作符
3.2 转换操作符
3.2.1 AsEnumerable
3.2.2 ToArray和ToList
3.2.3 ToDictionary
3.2.4 ToLookup
3.2.5 OfType和Cast
3.3 小结
第Ⅱ部分 针对关系数据的LINQ
第4章 LINQ to SQL:查询数据
4.1 LINQ to SQL中的实体
4.2 数据建模
4.2.1 DataContext类
4.2.2 实体类
4.2.3 实体继承
4.2.4 唯一的对象标识符
4.2.5 实体约束
4.2.6 实体间的关联
4.2.7 关系模型与分层模型的对比
4.3 数据查询
4.3.1 投影
4.3.2 存储过程和用户自定义函数
4.3.3 编译查询
4.3.4 查询数据的不同方法
4.3.5 直接查询
4.3.6 实体的延迟载入
4.3.7 属性的延迟载入
4.3.8 访问只读的DataContext
4.3.9 LINQ to SQL的局限性
4.4 在LINQ to SQL的环境中进行思考
4.4.1 IN/EXISTS子句
4.4.2 精简的SQL查询
4.4.3 .NET代码与SQL查询的混合
4.5 小结
第5章 LINQ to SQL:管理数据
5.1 CRUD和CUD操作
5.1.1 实体更新
5.1.2 数据库更新
5.1.3 自定义插入、更新和删除操作
5.2 数据库交互
5.2.1 并发操作
5.2.2 事务
5.2.3 异常
5.3 数据库和实体
5.3.1 保留有效关系的实体属性
5.3.2 派生实体类
5.3.3 附加实体
5.3.4 绑定元数据
5.3.5 .NET和SQL类型体系的区别
5.4 小结
第6章 LINQ to SQL的工具
6.1 文件类型
6.1.1 DBML(数据库标记语言)
6.1.2 C#和Visual Basic源代码
6.1.3 XML(外部的映射文件)
6.1.4 LINQ to SQL文件的生成
6.2 SQLMetal
6.2.1 从数据库生成DBML文件
6.2.2 从数据库生成源代码和映射文件
6.2.3 从DBML文件生成源代码和映射文件
6.3 使用对象关系设计器
6.3.1 DataContext的属性
6.3.2 实体类
6.3.3 实体间的关联
6.3.4 实体继承
6.3.5 存储过程和用户自定义函数
6.3.6 视图和架构支持
6.4 小结
第7章 LINQ to DataSet
7.1 LINQ to DataSet简介
7.2 使用LINQ载入数据集
7.2.1 用LINQ to SQL载入数据集
7.2.2 用LINQ to DataSet载入数据
7.3 使用LINQ查询数据集
7.3.1 内部的DataTable.AsEnumerable
7.3.2 用LINQ创建DataView实例
7.3.3 使用LINQ查询具有类型的DataSet
7.3.4 访问没有类型的DataSet数据
7.3.5 DataRow比较
7.4 小结
第8章 LINQ to Entities
8.1 查询实体数据模型
8.1.1 概述
8.1.2 查询表达式
8.2 管理数据
8.3 查询引擎
8.3.1 查询的执行
8.3.2 深入ObjectQuery<T>
8.3.3 经过编译的查询
8.4 LINQ to SQL和LINQ to Entities
8.5 小结
第Ⅲ部分 LINQ和XML
第9章 LINQ to XML:管理XML Infoset
9.1 LINQ to XML简介
9.2 LINQ to XML编程
9.2.1 XDocument
9.2.2 XElement
9.2.3 XAttribute
9.2.4 XNode
9.2.5 XName和XNamespace
9.2.6 其他的X*类
9.2.7 XStreamingElement
9.2.8 XObject和Annotations
9.3 读取、遍历与改变XML
9.4 小结
第10章 LINQ to XML:查询节点
10.1 查询XML
10.1.1 Attribute和Attributes
10.1.2 Element和Elements
10.1.3 “类似”扩展方法的XPath轴
10.1.4 XNode选择方法
10.1.5 InDocumentOrder
10.2 延迟的查询求值
10.3 对XML的LINQ查询
10.4 使用LINQ to XML转换XML
10.5 支持XSD和类型节点的有效性
10.6 支持XPath和System.Xml.XPath
10.7 LINQ to XML的安全性
10.8 LINQ to XML序列化
10.9 小结
第Ⅳ部分 高级LINQ
第11章 表达式目录树详解
11.1 lambda表达式
11.2 什么是表达式目录树
11.2.1 创建表达式目录树
11.2.2 封装
11.2.3 不可变和修改
11.3 解析表达式目录树
11.3.1 Expression类
11.3.2 表达式目录树节点类型
11.3.3 实用节点
11.4 访问表达式目录树
11.5 动态构建表达式目录树
11.5.1 编译器如何产生表达式目录树
11.5.2 合并现有的表达式目录树
11.5.3 动态组成表达式目录树
11.6 小结
第12章 扩展LINQ
12.1 自定义操作符
12.2 现有操作符的特化
12.2.1 危险的做法
12.2.2 特化的限制
12.3 创建自定义的LINQ提供程序
12.3.1 IQueryable接口
12.3.2 从IEnumerable到IQueryable与从IQueryable到IEnumerable
12.3.3 IQueryable和IQueryProvider的本质
12.3.4 编写FlightQueryProvider
12.4 小结
第13章 并行LINQ
13.1 .NET Framework并行扩展
13.1.1 Parallel.For和Parallel.ForEach方法
13.1.2 Do方法
13.1.3 Task类
13.1.4 Future<T>类
13.1.5 并发考虑
13.2 使用PLINQ
13.2.1 PLINQ使用的线程
13.2.2 PLINQ的实现形式
13.2.3 PLINQ的用法
13.2.4 并行执行的副作用
13.2.5 PLINQ的异常处理
13.2.6 PLINQ和其他的LINQ实现形式
13.3 小结
第14章 其他的LINQ实现形式
14.1 数据库访问
14.2 没有数据库的数据访问
14.3 LINQ to Entity域模型
14.4 LINQ to Services
14.5 系统工程师的LINQ
14.6 动态的LINQ
14.7 其他的LINQ增强功能和工具
14.8 小结
第Ⅴ部分 LINQ的应用
第15章 在多层解决方案中的LINQ
15.1 多层解决方案的特征
15.2 两层解决方案中的LINQ to SQL
15.3 在n层解决方案中的LINQ
15.3.1 用LINQ to SQL替代DAL
15.3.2 用XML外部映射抽取LINQ to SQL
15.3.3 在实际的抽象内容中使用LINQ to SQL
15.3.4 用LINQ to XML作为数据层
15.3.5 用LINQ to Entities作为数据层
15.4 在业务层中的LINQ
15.4.1 优化代码的LINQ to Objects
15.4.2 IQueryable<T>与IEnumerable<T>的对比
15.4.3 识别正确的工作单元
15.4.4 处理事务
15.4.5 并发性和线程安全
15.5 小结
第16章 LINQ和ASP.NET
16.1 ASP.NET 3.5
16.1.1 ListView
16.1.2 ListView数据绑定
16.1.3 DataPager
16.2 LinqDataSource
16.2.1 用LinqDataSource和DataPager分页数据
16.2.2 用LinqDataSource处理数据修改
16.2.3 用LinqDataSource进行自定义选取
16.2.4 使用具有自定义类型的LinqDataSource
16.3 绑定LINQ查询
16.4 小结
第17章 LINQ和WPF/Silverlight
17.1 与WPF一起使用LINQ
17.1.1 绑定单个实体和属性
17.1.2 绑定实体集
17.2 与Silverlight一起使用LINQ
17.3 小结
第18章 LINQ和Windows通信层编程框架
18.1 WCF综述
18.1.1 WCF协议和服务
18.1.2 面向服务的协议
18.1.3 端点和服务宿主
18.1.4 服务用户
18.2 WCF和LINQ to SQL
18.2.1 LINQ to SQL的实体和序列化
18.2.2 用WCF发布LINQ to SQL的实体
18.2.3 采取WCF使用LINQ to SQL的实体
18.3 LINQ to Entities和WCF
18.4 查询表达式序列化
18.5 小结
第Ⅵ部分 附录
附录A ADO.NET实体框架
A.1 ADO.NET的标准方法
A.2 从物理层抽取
A.3 实体数据模型
A.3.1 实体数据模型文件
A.3.2 实体数据模型设计器和向导
A.3.3 实体数据模型生成工具
A.3.4 实体数据模型规则和定义
A.4 用ADO.NET查询实体
A.5 用LINQ查询ADO.NET实体
A.6 用对象服务管理数据
A.6.1 对象身份管理
A.6.2 事务性操作
A.7 手动实现的实体
A.8 LINQ to SQL和ADO.NET实体框架
A.9 小结
附录B C# 3.0:新语言特征
B.1 重温C# 2.0
B.1.1 泛型
B.1.2 委托
B.1.3 匿名方法
B.1.4 枚举量和Yield
B.2 C# 3.0特征
B.2.1 自动实现的属性
B.2.2 本地类型推断
B.2.3 lambda表达式
B.2.4 扩展方法
B.2.5 对象初始化表达式
B.2.6 匿名类型
B.2.7 查询表达式
B.2.8 局部方法
B.3 小结
附录C Visual Basic 2008:新语言特征
C.1 Visual Basic 2008和可空类型
C.2 If操作符
C.3 Visual Basic 2008对应于C# 3.0的特征
C.3.1 本地类型推断
C.3.2 扩展方法
C.3.3 对象初始化表达式
C.3.4 匿名类型
C.3.5 查询表达式
C.3.6 lambda表达式
C.3.7 闭包
C.3.8 局部方法
C.4 Visual Basic 2008和C# 3.0不对应的特征
C.4.1 XML支持
C.4.2 非严格委托
C.5 C# 3.0和Visual Basic 2008不对应的特征
C.5.1 yield关键字
C.5.2 匿名方法
C.6 小结
*Sx
精通LINQ程序设计
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×