第1章 AS P.NET4.5 数据源 1
1.1 新的数据访问模式 2
1.2 ASP.NET中的数据源 4
1.2.1 ADO.NET数据源 4
1.2.2 NoSQL 5
1.2.3 Web服务 5
1.2.4 WCF数据服务 5
1.2.5 联合服务 6
1.2.6 Azure存储 6
1.2.7 HTML 5本地存储 6
1.3.NET Framework4.5 中的ADO.NET简介 7
1.3.1 ADO.NET的新变化 7
1.3.2 Entity Framework 5.0 7
1.3.3 SqlClient数据访问接口 7
1.3.4 ADO.NET和LINQ 8
1.3.5 数据访问接口 8
1.3.6 异步数据访问 9
1.3.7.NET Framework 4.5 中的异步编程模型 10
1.4 开发第一个示例 12
1.4.1 试一试:使用ASP.NET 4.5 创建第一个数据驱动的页面 12
1.4.2 示例说明 20
1.5 小结 20
第2章 关系数据库的未来发展 21
2.1 关系数据库的演化 22
2.1.1 关系数据库的缺点 22
2.1.2 Microsoft SQL Server如何摆脱限制 22
2.2 Microsoft SQL Server 2012简介 23
2.3 空间数据 25
2.4 数据库引擎和T-SQL增强 29
2.4.1 支持分页 29
2.4.2 序列 30
2.4.3 在Exec命令中使用WITH RESULT SET 31
2.4.4 File Table 32
2.5 数据可视化 32
2.5.1 Power View和PowerPivot 33
2.5.2 自助警报 33
2.6 SQL Server 2012云 34
2.6.1 私有云 35
2.6.2 SQL Azure——公有云 35
2.7 小结 38
第3章 非关系数据库简介 39
3.1 理解NoSQL数据库 39
3.1.1 概述 40
3.1.2 关键优势 40
3.1.3 流行的NoSQL技术 40
3.1.4 面向文档的数据库 41
3.1.5 使用MongoDB进行编程 42
3.1.6 MongoDB的设置步骤 42
3.1.7 使用MongoDB客户端 43
3.1.8 使用C#进行MongoDB编程 44
3.1.9 MongoDB的工作原理 47
3.2 小结 48
第4章 使用ADO.NET访问数据 49
4.1 ADO.NET架构 49
4.1.1 使用ADO.NET数据访问接口读取和修改数据库 50
4.1.2 DataSet与DataReader 50
4.1.3 连接数据库 51
4.1.4 CRUD操作的命令 53
4.1.5 使用存储过程操作数据 53
4.1.6 异步数据流 55
4.1.7 访问接口工厂 55
4.1.8 多重活动结果集 57
4.2 DataSet、DataAdapter和DataSource控件 58
4.3 数据类型映射 60
4.4 安全的数据访问 61
4.4.1 访问SQL数据库的权限 61
4.4.2 加密Web配置 62
4.4.3 防止注入攻击 63
4.4.4 异常处理 64
4.4.5 在内存中处理敏感信息的安全字符串 64
4.4.6 Microsoft SQL Server 2012扩展保护 64
4.5 小结 64
第5章 LINQ简介 65
5.1 使用LINQ编写查询 65
5.1.1 LINQ数据源 66
5.1.2 使用LINQ构建查询 69
5.2 查询运算符 70
5.2.1 查询运算符的分类 70
5.2.2 查询运算符的执行 70
5.3 将LINQ用于ADO.NET数据访问 71
5.3.1 LINQ to SQL 71
5.3.2 延迟加载 74
5.3.3 LINQ to DataSet 75
5.3.4 LINQ to Entities 76
5.4 LINQ和并行性 76
5.5 查询WCF数据服务 77
5.6 小结 80
第6章 ADO.NET实体数据模型 81
6.1 EDM架构 81
6.1.1 概念模式 82
6.1.2 存储模式 84
6.1.3 映射模式 85
6.1.4 EDM生成工具 86
6.2 ADO.NET元数据 87
6.2.1 EDM类型和关系 88
6.2.2 DataSpace枚举器 89
6.2.3 元数据工作区 89
6.2.4 规范和存储函数 92
6.3 实体SQL简介 92
6.4 小结 93
第7章 使用Entity Framework设计数据访问应用程序 95
7.1 Entity Framework架构 95
7.2 生成实体模型 96
7.2.1 实体关联 99
7.2.2 使用LINQ to Entities查询EDM 100
7.3 Entity Framework中使用Text Template的代码生成 101
7.3.1 DbContext生成器和POCO类 103
7.3.2 POCO代理 105
7.4 预先加载实体 106
7.5 复杂类型 106
7.6 枚举类型 110
7.7 实体客户端数据访问接口 110
7.8 对数据访问层进行单元测试 110
7.9 小结 112
第8章 Entity Framework的数据访问模式 113
8.1 模型优先的方法 113
8.2 代码优先的方法 120
8.2.1 数据库初始值 122
8.2.2 使用Fluent API的自定义映射 124
8.2.3 代码优先迁移 125
8.2.4 代码优先方法的逆向工程 125
8.3 使用数据注释进行验证 126
8.4 小结 127
第9章 使用WCF数据服务 129
9.1 REST语义概述 130
9.2 WCF数据服务简介 130
9.3 将数据公开为服务 132
9.3.1 WCF数据服务访问接口 136
9.3.2 将ASP.NET MVC WebAPI服务公开为OData源 137
9.4 在客户端应用程序中使用数据服务 140
9.4.1 通过jQueryAjax使用OData源 140
9.4.2 通过WCF数据服务客户端库使用OData源 141
9.5 小结 143
第10章 AS P.NET4.5 中的数据绑定 145
10.1 数据源控件 145
10.1.1 LinqDataSource 146
10.1.2 EntityDataSource 148
10.2 数据绑定控件 153
10.2.1 DataList 153
10.2.2 DetailsView 154
10.2.3 QueryExtender 155
10.3 强类型化数据控件 156
10.3.1 ItemType特性 156
10.3.2 HTML编码的表达式 157
10.4 模型绑定 157
10.5 ASP.NETMVC 4中的数据绑定 159
10.5.1 Razor视图引擎 159
10.5.2 非介入式JavaScript 161
10.5.3 使用Ajax进行异步显示 163
10.6 小结 164
第11章 使用动态数据构建可扩展的数据驱动Web应用程序 165
11.1 动态数据层 165
11.2 动态数据基架 166
11.2.1 自定义Scaffolding Template 170
11.2.2 模板行为 172
11.3 动态数据的工作原理 173
11.3.1 MetaModel 173
11.3.2 路由 174
11.3.3 已有控件中的动态数据 174
11.4 小结 175
第12章 构建数据驱动网站的最佳实践和技术 177
12.1 数据访问层模式 177
12.1.1 隔离数据层和实体模型 177
12.1.2 存储库模式 179
12.1.3 工作单元 183
12.2 处理问题的技术 188
12.2.1 并发性 188
12.2.2 事务 189
12.2.3 调试问题 189
12.3 小结 192
第13章 应用程序生命周期管理 193
13.1 为企业创建架构 194
13.1.1 设计新应用程序 194
13.1.2 分析已有的应用程序代码库 195
13.2 提高工作效率 196
13.2.1 更好地访问文件和代码 196
13.2.2 访问数据 197
13.2.3 暂停和恢复 199
13.2.4 代码评审 199
13.2.5 分析和配置应用程序 200
13.3 测试和调试ASP.NET应用程序 201
13.3.1 单元测试 201
13.3.2 使用IntelliTrace进行历史调试 201
13.4 生成和部署 202
13.4.1 团队生成的定义 202
13.4.2 团队生成定义触发器 203
13.4.3 团队生成过程 203
13.4.4 使用团队生成进行部署 204
13.4.5 部署SQL Server数据库 205
13.5 小结 206