第1篇 新手入门 3
第1章 ASP.NET网站开发基础 3
1.1 ASP.NET简介 4
1.1.1 ASP.NET发展历程、优点及新特性 4
1.1.2 ASP.NET的运行原理与运行机制 4
1.2搭建ASP.NET开发环境 6
1.2.1安装IIS服务器 7
1.2.2安装Visual Studio 2010集成开发工具 8
1.3 ASP.NET网页基础语法 10
1.3.1 ASP.NET网页扩展名 10
1.3.2常用页面指令 11
1.3.3 ASPX文件内容注释 15
1.3.4 ASP.NET服务器控件标记语法 15
1.3.5表达式语法 16
1.4制作一个ASP.NET网站 16
1.4.1创建ASP.NET网站并熟悉开发环境 17
1.4.2设计Web页面 18
1.4.3添加ASP.NET文件夹 19
1.4.4运行应用程序 20
1.4.5配置IIS虚拟站点 20
1.5 ASP.NET技术学习资源——He珍Library 管理器 21
1.5.1安装Help Library管理器 22
1.5.2 Help Library管理器的使用 23
1.6实战 25
1.6.1创建存放公共类的文件夹 25
1.6.2使用代码块语法输出指定字符串 25
1.6.3自定义快捷工具栏 26
1.6.4设置验证级别防止非法登录 26
1.6.5限制上传文件大小与时间 27
1.7本章小结 28
1.8学习成果检验 28
第2章 C#语言基础 29
2.1 C#语言概述 30
2.2代码编写规则 30
2.2.1代码书写规则 30
2.2.2代码注释及规则 31
2.3创建控制台应用程序 31
2.4数据类型 32
2.4.1值类型的使用 33
2.4.2引用类型的使用 35
2.5变量和常量 36
2.5.1变量的声明和赋值 36
2.5.2定义常量、使用常量 38
2.6数据类型转换 39
2.6.1隐式类型转换 39
2.6.2显式类型转换 40
2.6.3装箱和拆箱 41
2.7 C#中的运算符 42
2.7.1算术运算符 42
2.7.2赋值运算符 45
2.7.3关系运算符 46
2.7.4逻辑运算符 50
2.7.5移位运算符 54
2.7.6其他特殊运算符 56
2.7.7运算符的优先级 58
2.8实战 59
2.8.1利用运算符判断用户名称和密码 59
2.8.2判断一个数是否是素数 59
2.8.3使用结构类型显示员工信息 60
2.8.4使用深复制和浅复制显示员工信息 61
2.8.5制作一个简单加法计算器 62
2.9本章小结 63
2.10学习成果检验 63
第3章 C#流程控制及数组 65
3.1流程控制 66
3.1.1条件控制语句 66
3.1.2循环语句的使用 71
3.2数组的基本操作 78
3.2.1数组的声明 78
3.2.2初始化数组 78
3.3实战 79
3.3.1哥德巴赫猜想的算法 79
3.3.2使用数组解决约瑟夫环问题 81
3.3.3加密用户密码等重要的数据信息 82
3.3.4吹起号角迅速集合之快速排序 83
3.3.5“大乐透”号码的排列 84
3.4本章小结 85
3.5学习成果检验 85
第4章 面向对象程序设计 87
4.1面向对象编程概述 88
4.2创建类与类的成员 89
4.2.1创建类 89
4.2.2构造函数和析构函数 89
4.2.3实例化类对象 91
4.2.4控制访问权限 92
4.2.5定义成员字段 93
4.2.6定义成员方法 94
4.2.7定义成员属性 96
4.3封装特性 97
4.3.1封装概述 97
4.3.2封装的实现 97
4.4继承特性 99
4.4.1继承概述 99
4.4.2继承的实现 99
4.4.3单继承的使用 102
4.4.4多重继承的使用 103
4.5多态特性 105
4.5.1多态概述 105
4.5.2多态的实现 105
4.6实战 108
4.6.1面向对象思想实现简单计算器 108
4.6.2面向对象思想实现字符串中查找数字 109
4.6.3实现具有相同名称的接口方法 110
4.6.4以包含/委托模型显示比赛信息 111
4.6.5通过抽象类和抽象方法确定动物叫声行为 112
4.7本章小结 114
4.8学习成果检验 114
第5章 综合实验(一)——网站会员注册与登录 115
5.1网站会员注册与登录概述 116
5.1.1会员注册与登录业务流程 116
5.1.2数据库设计 117
5.2关键技术 117
5.2.1防止SQL注入式攻击技术 117
5.2.2网站安全验证码技术 118
5.2.3智能化验证注册的会员名 119
5.2.4智能化验证密码的强弱 120
5.2.5无解密MD5加密技术 121
5.2.6智能化提示输入信息样例 121
5.3主要功能模块设计 122
5.3.1网站会员登录设计 122
5.3.2网站会员注册设计 124
5.3.3安全验证码技术设计 129
5.4本章小结 131
5.5学习成果检验 132
第2篇 进阶提高 135
第6章 ASP.NET常用服务器控件 135
6.1文本类型控件 136
6.1.1 Label控件 136
6.1.2 TextBox控件 137
6.2按钮类型控件 139
6.2.1 Button控件 139
6.2.2 ImageButton控件 140
6.3链接类型控件 141
6.3.1 HyperLink控件 141
6.3.2 LinkButton控件 143
6.4选择类型控件 144
6.4.1 ListBox控件 144
6.4.2 DropDownList控件 147
6.4.3 RadioButton控件 149
6.4.4 CheckBox控件 151
6.5图像显示类型控件 153
6.5.1 Image控件 153
6.5.2 ImageMap控件 155
6.6 FileUpload文件上传控件 158
6.6.1 FileUpload控件的概述 158
6.6.2使用FileUpload控件上传图片文件 159
6.7实战 161
6.7.1网站会员登录 161
6.7.2 ASP.NET上传大文件 162
6.7.3输出选择的商品名称 163
6.7.4给服务器控件加不存在的属性 163
6.7.5页面提交时弹出确认窗口 164
6.7.6动态添加商品信息 164
6.8本章小结 165
6.9学习成果检验 165
第7章 ASP.NET内置对象 167
7.1 Response对象 168
7.1.1 Response对象概述 168
7.1.2 Response对象的常用属性和方法 168
7.1.3在页面中输出数据 168
7.1.4页面跳转并传递参数 169
7.2 Request对象 171
7.2.1 Request对象概述 171
7.2.2 Request对象的常用属性和方法 171
7.2.3获取页面间传送的值 171
7.2.4获取客户端浏览器信息 172
7.3 Application对象 173
7.3.1 Application对象概述 173
7.3.2 Application对象的常用集合、属性和方法 173
7.3.3设计一个访问计数器 174
7.3.4利用Application对象制作简单聊天室 175
7.4 Session对象 176
7.4.1 Session对象概述 176
7.4.2 Session对象的常用集合、属性和方法 177
7.4.3使用Session对象存储和读取数据 177
7.5 Cookie对象 178
7.5.1 Cookie对象概述 178
7.5.2 Cookie对象的常用属性和方法 179
7.5.3使用Cookie对象保存和读取客户端信息 179
7.6 Server对象 180
7.6.1 Server对象概述 180
7.6.2 Server对象的常用属性和方法 180
7.6.3使用Server.Execute方法和Server.Transfer方法重定向页面 181
7.6.4使用Server.MapPath方法获取服务器的物理地址 182
7.6.5对字符串进行编码和解码 182
7.7实战 183
7.7.1具有私聊功能的聊天室 183
7.7.2简单的投票系统 186
7.7.3判断用户登录状态 188
7.7.4绘制并输出漂亮图片 189
7.7.5实现密码记忆功能 190
7.8本章小结 192
7.9学习成果检验 192
第8章 数据验证技术 193
8.1非空数据验证 194
8.1.1 RequiredFieldValidator控件 194
8.1.2 RequiredFieldValidator控件验证实例 194
8.2数据比较验证 195
8.2.1 CompareValidator控件 195
8.2.2 CompareValidator控件验证实例 196
8.3数据输入格式验证 197
8.3.1 RegularExpressionValidator控件 197
8.3.2 RegularExpressionValidator控件验证实例 199
8.4数据范围验证 200
8.4.1 RangeValidator控件 200
8.4.2 RangeValidator控件验证实例 201
8.5验证错误信息显示 202
8.5.1 ValidationSummary控件 202
8.5.2 ValidationSummary控件验证实例 203
8.6屏蔽数据验证 204
8.7实战 204
8.7.1机票预订系统中限制注册用户名 204
8.7.2博客中验证用户名是否为汉字 205
8.7.3身份证管理系统中验证身份证号码 206
8.7.4验证会员充值系统中会员密码格式 206
8.7.5验证会员注册时输入的密码长度 207
8.8本章小结 208
8.9学习成果检验 208
第9章 母版页技术 209
9.1母版页的概述 210
9.1.1母版页和内容页 210
9.1.2母版页运行机制 210
9.1.3母版页的优点 210
9.2创建母版页 211
9.3创建内容页 212
9.4嵌套母版页 213
9.5访问母版页的控件和属性 216
9.5.1使用Master.FindControl方法访问母版页上的控件 216
9.5.2引用@MasterType指令访问母版页上的属性 217
9.6实战 218
9.6.1实现网站通用登录功能 218
9.6.2统计网站访问的人数 219
9.6.3以编程方式设置网页的母版 220
9.6.4提高母版页的访问性能 221
9.6.5动态加载母版页 222
9.7本章小结 224
9.8学习成果检验 224
第10章 网站主题 225
10.1主题的概述 226
10.1.1组成元素 226
10.1.2文件存储和组织方式 226
10.2创建主题 227
10.2.1创建外观文件 227
10.2.2为主题添加CSS样式 228
10.3应用主题 230
10.3.1使用和禁用主题 230
10.3.2动态加载主题 231
10.4实战 234
10.4.1在留言板中应用主题 234
10.4.2为会员注册换几套新装 235
10.4.3在主题中添加图片 235
10.4.4设计网站注册模块外观 236
10.4.5设计网站登录模块外观 236
10.5本章小结 237
10.6学习成果检验 237
第11章 综合实验(二)——ASP.NET制作网站留言板 239
11.1 ASP.NET制作网站留言板概述 240
11.1.1功能设计及业务流程 240
11.1.2数据库设计 240
11.2关键技术 242
11.2.1配置第三方FreeTextBox组件 242
11.2.2应用Visual Studio 2010母版页 243
11.2.3定义CSS样式统一页面风格 245
11.3主要功能模块设计 245
11.3.1配置Web.config 245
11.3.2编写程序公共类 246
11.3.3留言板主页设计 249
11.3.4发表留言模块设计 250
11.3.5查看留言页面设计 252
11.3.6留言管理页面设计 256
11.3.7回复留言模块设计 258
11.4本章小结 260
11.5学习成果检验 260
第3篇 中级开发 263
第12章 ADO.NET数据操作技术 263
12.1 ADO.NET技术概述 264
12.2使用Connection对象连接数据库 264
12.2.1使用SqlConnection对象连接SQL Server数据库 265
12.2.2使用OIeDbConnection对象连接数据库 265
12.2.3使用OracleConnection对象连接Oracle数据库 266
12.3使用Command对象操作数据 267
12.3.1使用Command对象查询数据 267
12.3.2使用Command对象添加数据 268
12.3.3使用Command对象修改数据 269
12.3.4使用Command对象删除数据 270
12.3.5使用Command对象调用存储过程 271
12.4使用DataSet对象和DataAdapter 对象 272
12.4.1使用DataAdapter对象填充DataSet对象 273
12.4.2使用DataAdapter更新数据库中数据 274
12.5使用DataReader对象 275
12.5.1使用DataReader对象读取数据 276
12.5.2 DataReader对象与DataSet对象的区别 277
12.6实战 278
12.6.1向SQL Server数据库中添加数据 278
12.6.2将文件以二进制格式保存到SQL Server数据库中 280
12.6.3用户登录中预防SQL注入攻击 281
12.6.4批量删除发布的供求信息 282
12.6.5使用DataView排序供求信息数据 284
12.7本章小结 285
12.8学习成果检验 285
第13章 数据控件的应用 287
13.1 GridView控件 288
13.1.1 GridView控件概述 288
13.1.2 GridView控件常用的属性、方法和事件 288
13.1.3使用GridView控件绑定数据源 290
13.1.4自定义GridView控件的列 293
13.1.5使用GridView控件分页显示数据 294
13.1.6以编程方式实现选中、编辑和删除GridView数据项 295
13.2 DataList控件 298
13.2.1 DataList控件概述 298
13.2.2 DataList控件常用的属性、方法和事件 299
13.2.3分页显示DataList控件中的数据 300
13.3 ListView控件 304
13.3.1 ListView控件概述 304
13.3.2 ListView控件常用的属性、方法和事件 304
13.3.3 ListView控件的模板 306
13.3.4使用ListView服务器控件对数据进行显示、分页和排序 307
13.4实战 308
13.4.1在GridView中实现商品信息自动编号 308
13.4.2获取GridView中隐藏的列值 309
13.4.3学生成绩不及格设置单元格突出显示为红色 310
13.4.4设置商品是否上架 310
13.4.5高亮显示搜索关键字 311
13.5本章小结 312
13.6学习成果检验 312
第14章 网站导航技术 313
14.1站点地图概述 314
14.2 TreeView控件 314
14.2.1 TreeView控件常用的属性和事件 315
14.2.2 TreeView控件的基本应用 317
14.2.3 TreeView控件绑定数据库中数据 318
14.2.4使用TreeView控件实现网站导航 319
14.3 Menu控件 320
14.3.1 Menu控件常用的属性和事件 320
14.3.2 Menu控件的基本应用 321
14.3.3 Menu控件绑定XML文件实现网站导航 322
14.4 SiteMapPath控件 323
14.4.1 SiteMapPath控件常用的属性和事件 323
14.4.2使用SiteMapPath控件实现站点导航 324
14.5实战 325
14.5.1管理系统网站导航(一) 325
14.5.2管理系统网站导航(二) 326
14.5.3开发选课系统导航 328
14.5.4视频网站分类导航 330
14.5.5提示用户在网站中的位置 331
14.6本章小结 331
14.7学习成果检验 332
第15章 Web用户控件 333
15.1 Web用户控件概述 334
15.1.1 Web用户控件与Web窗体比较 334
15.1.2用户控件的优点 334
15.2创建及使用Web用户控件 334
15.2.1创建Web用户控件 335
15.2.2将Web用户控件添加至网页 335
15.2.3使用Web用户控件制作博客导航条 336
15.3设置用户控件 337
15.3.1访问用户控件的属性 338
15.3.2访问用户控件中的服务器控件 338
15.3.3将Web网页转化为用户控件 340
15.4实战 340
15.4.1制作一个站内查询、搜索用户控件 340
15.4.2制作一个网站的友情链接用户控件 342
15.4.3使用用户控件实现数据分页导航 342
15.4.4开发具有选择日期的功能用户控件 346
15.4.5开发具有虚拟键盘功能的用户控件 347
15.5本章小结 348
15.6学习成果检验 348
第16章 程序调试与错误处理 349
16.1错误类型 350
16.1.1语法错误 350
16.1.2语义错误 350
16.1.3逻辑错误 350
16.2程序调试 351
16.2.1断点操作 352
16.2.2开始执行 352
16.2.3中断执行 353
16.2.4停止执行 354
16.2.5单步执行和逐过程执行 354
16.2.6运行到指定位置 354
16.3常见服务器故障排除 354
16.3.1 Web服务器配置不正确 355
16.3.2 IIS管理服务没有响应 355
16.3.3未安装ASP.NET 355
16.3.4连接被拒绝 356
16.3.5不能使用静态文件 356
16.4异常处理语句 356
16.4.1使用throw语句抛出异常 356
16.4.2使用try…catch语句捕捉异常 357
16.4.3使用try…catch…finally语句捕捉异常 358
16.5实战 359
16.5.1为删除按钮添加删除确认对话框 359
16.5.2 Web Service方法重载产生的陷阱 361
16.5.3放置隐藏字段的陷阱 362
16.5.4获取错误信息并转到指定页面 364
16.5.5文件格式与文件读取的陷阱 365
16.6本章小结 367
16.7学习成果检验 367
第17章 综合实验(三)——网站流量统计模块 369
17.1网站流量统计模块概述 370
17.1.1功能设计及模块预览 370
17.1.2数据库设计 370
17.2关键技术 371
17.2.1如何获取并记录流量统计所需数据 371
17.2.2使用Request对象获取客户端信息 371
17.3主要功能模块设计 372
17.3.1配置Web.config 372
17.3.2公共类编写 372
17.3.3模块设计说明 374
17.4本章小结 390
17.5学习成果检验 390
第4篇 高级应用 393
第18章 ASP.NET AJAX技术的使用 393
18.1 ASP.NET AJAX概述 394
18.1.1 AJAX开发模式 394
18.1.2 ASP.NET AJAX优点 394
18.1.3 ASP.NET AJAX架构 395
18.2 ASP.NET AJAX服务器端控件 395
18.2.1 ScriptManager控件 396
18.2.2 UpdatePanel控件 400
18.2.3 Timer控件 402
18.3 Ajax Control Toolkit工具包的使用 403
18.3.1安装Ajax Control Toolkit扩展控件工具包 403
18.3.2 PasswordStrength控件 404
18.3.3 TextBoxWatermark控件 406
18.3.4 SlideShow控件 408
18.4实战 410
18.4.1倒计时程序 410
18.4.2无刷新模式聊天室 411
18.4.3网站气泡提示 412
18.4.4 AJAX购物车(嵌套UpdatePanel+GridView) 413
18.4.5搜索引擎中智能匹配检索功能 414
18.4.6仿当当网对图书实现评级功能 416
18.5本章小结 418
18.6学习成果检验 418
第19章LINQ数据访问技术 419
19.1 LINQ技术概述 420
19.1.1查询与LINQ的区别 420
19.1.2 LINQ基本组成 420
19.1.3 LINQ与ADO.NET的关系 421
19.2 LINQ查询常用子句 422
19.2.1 from子句 422
19.2.2 where子句 423
19.2.3 select子句 423
19.2.4 orderby子句 424
19.3使用LINQ操作SQL Server数据库 425
19.3.1创建LINQ数据源 425
19.3.2使用LINQ执行操作数据库 426
19.3.3灵活运用LinqDataSource控件 429
19.4使用LINQ操作其他数据 431
19.4.1使用LINQ操作数组和集合 431
19.4.2使用LINQ操作DataSet数据集 432
19.4.3使用LINQ操作XML文件 434
19.5实战 438
19.5.1 LINQ查询结果绑定到DropDownList控件 438
19.5.2 LINQ查询结果绑定到GridView控件 439
19.5.3 LINQ查询结果绑定到DataList控件 440
19.5.4 LINQ防止SQL注入式攻击 441
19.5.5 LINQ查询结果作为数据源并实现分页 442
19.6本章小结 444
19.7学习成果检验 444
第20章 Web服务的使用 445
20.1 Web Service概述 446
20.2 Web服务的创建及使用 446
20.2.1 Web服务文件的指令 446
20.2.2 Web服务代码隐藏文件 447
20.2.3创建一个简单的Web服务 448
20.2.4 ASP.NET网站中调用Web服务 450
20.2.5 ASP.NET AJAX调用Web服务 453
20.3实战 454
20.3.1利用Web Service获取手机号码所在地 454
20.3.2利用Web服务上传和下载图片 455
20.3.3利用Web Service发送E-mail邮件 458
20.3.4利用Web Service获取天气预报 459
20.3.5利用Web Service发送手机短信 461
20.4本章小结 462
20.5学习成果检验 462
第21章 网站安全与策略 463
21.1安全性概述 464
21.2身份验证 464
21.2.1基于Windows的身份验证模式 464
21.2.2基于Forms的身份验证模式 467
21.2.3基于Passport的身份验证模式 475
21.3授权 475
21.3.1 ASP.NET提供的授权方式 475
21.3.2使用User.Identity对象 476
21.3.3使用User.IsInRole方法 477
21.3.4使用WindowsIdentity类 478
21.4实战 479
21.4.1通过ASP.NET窗体认证为用户分配访问权限 479
21.4.2网络上实现单点登录 482
21.4.3 MD5加密登录用户名称和密码 484
21.4.4过滤HTML非法字符 484
21.4.5禁止用户输入非法字符 485
21.5本章小结 486
21.6学习成果检验 486
第22章 ASP.NET网站优化、打包与发布 487
22.1 ASP.NET网站优化 488
22.1.1 ASP.NET缓存概述 488
22.1.2 ASP.NET缓存的应用 488
22.2 ASPNET网站打包 492
22.3 ASP.NET网站发布 495
22.3.1使用IIS浏览ASP.NET网站 495
22.3.2使用“发布网站”发布ASP.NET网站 497
22.3.3使用“复制网站”发布ASP.NET网站 498
22.4实战 500
22.4.1使用参数缓存网页多个版本 500
22.4.2使用编程方式缓存网页的多个版本 501
22.4.3同时在.aspx页面和用户控件.ascx中设置缓存 501
22.4.4将员工信息加入缓存中 502
22.4.5应用AdRotator控件轮播广告图片 503
22.5本章小结 504
22.6学习成果检验 504
第23章 综合实验(四)——校友录数码相册模块 505
23.1校友录数码相册模块概述 506
23.1.1功能设计及模块预览 506
23.1.2数据库设计 507
23.2关键技术 507
23.2.1引用Ajax Control Toolkit控件 507
23.2.2 Ajax框架中SlideShowExtender控件播放照片 508
23.2.3无刷新动态获取数据库中图片地址 509
23.2.4 DataList控件实现分页 510
23.2.5 DataList控件事件冒泡浏览个人相册 512
23.3主要功能模块设计 514
23.3.1校友录数码相册网主页设计 514
23.3.2缩略图显示个人数码相册 514
23.3.3分页显示数码相册缩略图 516
23.3.4校友录数码相册网用户登录 518
23.3.5浏览电子数码相册页设计 519
23.4本章小结 522
23.5学习成果检验 522
第5篇 项目实战 527
第24章 图书馆管理系统 527
24.1开发背景 528
24.2需求分析 528
24.3系统设计 528
24.3.1系统目标 528
24.3.2系统功能结构 529
24.3.3系统业务流程 529
24.3.4系统预览 529
24.3.5构建开发环境 530
24.3.6数据库设计 531
24.3.7网站文件组织结构 535
24.4公共类设计 536
24.4.1 DataBase类 536
24.4.2 AdminManage类 542
24.4.3 OperatorClass类 545
24.4.4 ValidateClass类 546
24.5主页面设计 547
24.5.1主页面概述 547
24.5.2主页面技术分析 548
24.5.3主页面实现过程 551
24.6图书馆信息模块设计 554
24.6.1图书馆信息模块概述 554
24.6.2图书馆信息模块技术分析 555
24.6.3图书馆信息模块实现过程 556
24.7图书信息管理模块设计 558
24.7.1图书信息管理模块概述 558
24.7.2图书信息管理模块技术分析 559
24.7.3图书信息管理模块实现过程 559
24.8图书借还管理模块设计 564
24.8.1图书借还管理模块概述 564
24.8.2图书借还管理模块技术分析 565
24.8.3图书借还管理模块实现过程 566
24.9开发技巧与难点分析 572
24.9.1如何验证输入字符串 572
24.9.2如何自动计算图书归还日期 572
24.10网站编译与发布 573
24.10.1网站编译 573
24.10.2网站发布 576
24.11本章小结 580
第25章 仿百度知道之明日知道 581
25.1开发背景 582
25.2需求分析 582
25.3系统设计 582
25.3.1系统目标 582
25.3.2系统功能结构 582
25.3.3系统业务流程 583
25.3.4系统预览 583
25.3.5构建开发环境 585
25.3.6数据库设计 585
25.3.7网站文件组织结构 587
25.4公共的自定义核心控件类设计 588
25.4.1自定义GridView数据绑定控件类 588
25.4.2自定义OurPager数据分页控件类 590
25.5提问模块设计 593
25.5.1提问模块概述 593
25.5.2提问模块技术分析 594
25.5.3提问模块实现过程 595
25.6问题回复模块设计 597
25.6.1问题回复模块概述 597
25.6.2问题回复模块技术分析 598
25.6.3问题回复模块的实现过程 599
25.7设置最佳答案模块设计 601
25.7.1设置最佳答案模块概述 601
25.7.2设置最佳答案模块技术分析 602
25.7.3设置最佳答案模块的实现过程 603
25.8关闭问题模块设计 605
25.8.1关闭问题模块设计概述 605
25.8.2关闭问题模块技术分析 605
25.8.3关闭问题模块的实现过程 606
25.9搜索问题模块设计 608
25.9.1搜索问题模块设计概述 608
25.9.2搜索问题模块技术分析 608
25.9.3搜索问题模块的实现过程 609
25.10开发技巧与难点分析 612
25.10.1利用母版页避免重复代码的编写 612
25.10.2使用LINQ技术操作SQL Server数据库 612
25.11本章小结 615