第1章 企业应用程序框架 1
1.1 提出问题 1
1.2 设计方案 3
1.2.1 第2章:数据访问层 3
1.2.2 第3章:业务逻辑层 3
1.2.3 第4章:用户界面层 4
1.2.4 第5章:异常处理 4
1.2.5 第6章:基于角色的安全体系 4
1.2.6 第7章:工作流引擎 4
1.2.7 第8章:通知 5
1.2.8 第9章:报表 5
1.2.9 第10章:查询生成器控件 5
1.2.10 第11章:仪表板 5
1.2.11 第12章:追踪审计 5
1.2.12 第13章:代码生成器 6
1.3 解决方案 6
1.4 小结 8
第2章 数据访问层 9
2.1 提出问题 9
2.2 设计方案 11
2.2.1 ADO.NET连接 11
2.2.2 动作查询 12
2.2.3 行返回查询 13
2.2.4 标量查询 14
2.2.5 SqlHelper 15
2.2.6 在BLL与DAL之间传递数据 18
2.2.7 LINQ to SQL 20
2.2.8 创建DataContext 22
2.2.9 添加记录 25
2.2.10 更新记录 26
2.2.11 删除记录 29
2.2.12 选择记录 29
2.2.13 存储过程 31
2.3 解决方案 36
2.4 小结 43
第3章 业务逻辑层 45
3.1 提出问题 46
3.2 设计方案 46
3.2.1 ENTBaseBO 47
3.2.2 ENTBaseBOList 49
3.2.3 ENTBaseEO 50
3.2.4 ENTBaseEOList 56
3.3 解决方案 58
3.3.1 首个编辑对象类 58
3.3.2 首个编辑对象列表对象 64
3.4 小结 65
第4章 用户界面层 67
4.1 提出问题 67
4.2 设计方案 69
4.2.1 PaidTimeOff样式表 70
4.2.2 父母版页 71
4.2.3 表格编辑页面的母版页 95
4.2.4 编辑页面的母版页 106
4.3 解决方案 111
4.3.1 Administration页面 112
4.3.2 用户列表页面 114
4.3.3 用户编辑页面 116
4.4 小结 120
第5章 异常处理 123
5.1 提出问题 123
5.2 设计方案 124
5.2.1 应用程序级的异常处理 124
5.2.2 页面级的异常处理 126
5.2.3 方法级的异常处理 127
5.2.4 web.config 128
5.2.5 运行状况监视 129
5.2 6 Enterprise Application Blocks 133
5.3 解决方案 140
5.4 小结 147
第6章 基于角色的安全体系 149
6.1 提出问题 149
6.2 设计方案 149
6.3 解决方案 153
6.3.1 实体对象与DataContext 154
6.3.2 数据类 156
6.3.3 业务类 162
6.3.4 用户界面 173
6.4 小结 193
第7章 工作流引擎 195
7.1 提出问题 195
7.2 设计方案 196
7.2.1 工作流数据表设计 198
7.2.2 存储过程 200
7.2.3 实体对象与DataContext 203
7.2.4 业务类 210
7.2.5 用户界面 228
7.2.6 Transitions 246
7.3 解决方案 248
7.3.1 PTO表的设计 248
7.3.2 实体对象 DataContext对象 253
7.3.3 业务类 255
7.3.4 用户界面 261
7.4 小结 285
第8章 通知 287
8.1 提出问题 287
8.2 设计方案 288
8.2.1 SmtpClient类 288
8.2.2 设计数据库表 290
8.3 解决方案 299
8.3.1 定义通知服务所用到的数据表 300
8.3.2 用于E-mail通知的业务对象 301
8.3.3 创建通知注册页面 308
8.4 小结 318
第9章 报表 319
9.1 提出问题 319
9.2 设计方案 319
9.2.1 直接连接到数据库来生成报表 324
9.2.2 报表查看器 332
9.2.3 基于三层结构的报表 335
9.3 解决方案 341
9.4 小结 348
第10章 查询生成器控件 351
10.1 提出问题 351
10.2 设计方案 352
10.2.1 ENTBaseQueryData 352
10.2.2 ENTBaseQueryBO 358
10.2.3 自定义查询生成器控件 359
10.3 解决方案 381
10.4 小结 392
第11章 仪表板 395
11.1 提出问题 395
11.2 设计方案 396
11.3 解决方案 405
11.4 小结 412
第12章 追踪审计 415
12.1 提出问题 415
12.2 设计方案 416
12.2.1 自定义追踪审计 416
12.2.2 创建用户界面 423
12.3 解决方案 431
12.4 小结 440
第13章 代码生成器 443
13.1 提出问题 443
13.2 设计方案 443
13.3 解决方案 451
13.4 小结 462