理论部分 2
第1章LINQ介绍 2
1.1 LINQ是什么 2
1.2为什么要用LINQ 2
1.3 LINQ to Objects第一步:查询内存对象 3
1.3.1做好准备 3
1.3.2 Hello LINQ to Objects 4
1.4 LINQ to XML第一步:查询XML documents 6
1.4.1为什么我们需要LINQ to XML 6
1.4.2 Hello LINQ to XML 8
1.5 LINQ to SQL第一步:查询关系数据库 11
1.5.1 LINQ to SQL特性概要 11
1.5.2 Hello LINQ to SQL 11
1.5.3近看LINQ to SQL 14
第2章C#语言的新特性及相关知识 16
2.1语言新特性 16
2.1.1产生一个正在运行的进程的列表 17
2.1.2分组结果到一个类中 18
2.2隐式类型的本地变量 19
2.2.1语法 19
2.2.2使用隐式类型局部变量改进我们的示例 20
2.3对象和集合的初始化器 21
2.3.1对象初始化器 21
2.3.2集合初始化器 22
2.3.3使用对象初始化器改进示例 23
2.4 lambda表达式 24
2.4.1代理回顾 25
2.4.2匿名方法 26
2.4.3 lambda表达式介绍 26
2.5扩展方法 28
2.5.1创建一个扩展方法示例 28
2.5.2使用LINQ标准查询运算符的更多示例 29
2.5.3扩展方法在示例中实际应用 30
2.5.4扩展方法缺点 31
2.6匿名类型 33
2.6.1使用匿名类型组合数据到对象中 33
2.6.2没有名字的类型,却有类型 34
2.6.3使用匿名类型改进我们的示例 34
2.6.4局限 35
第3章LINQ基本子句查询 37
3.1概述 37
3.2 from子句 38
3.2.1单个from子句 38
3.2.2复合from子句 40
3.2.3多个from子句 42
3.3 where子句 44
3.3.1常见的where子句查询 44
3.3.2 where子句使用自定义函数 45
3.3.3动态谓词的筛选 47
3.4 select子句 48
3.4.1输出查询结果 49
3.4.2对查询结果进行投影 49
3.5 group子句 51
3.5.1 IGrouping〈TKey , TElement〉泛型接口 51
3.5.2分组查询 51
3.6 into子句 53
3.7排序子句 54
3.7.1 OrderBy和OrderByDescending 55
3.7.2 ThenBy和ThenByDescending 56
3.8 let子句 58
3.9 join子句 59
第4章LINQ to SQL 64
4.1 LINQ To SQL概述 64
4.2 LINQ To SQL对象模型 64
4.3用于数据库连接的DataContext对象的成员介绍 70
4.3.1 GetTable方法 70
4.3.2 SubmitChanges方法 70
4.3.3 Ref resh方法 70
4.3.4 ExecuteQuery方法 71
4.3.5 ExecuteCommand方法 72
4.3.6 ChangeConflicts属性 72
4.3.7 Transaction属性 72
4.3.8小结 72
4.4 Table〈TEntity〉类 76
4.4.1 Attach方法 77
4.4.2 AttachAll方法 77
4.4.3 InsertOnSubmit方法 78
4.4.4 InsertAllOnSubmit方法 78
4.4.5 DeleteOnSubmit方法 78
4.4.6 DeleteAllOnSubmit方法 78
4.4.7小结 79
4.5使用LINQ进行分页 81
4.6 LINQ的延迟加载问题 82
第5章 初识ASP.NET MVC开发 87
5.1 ASP.NET MVC概述 87
5.1.1什么是ASP.NET MVC 87
5.1.2 MVC是什么 87
5.2 ASP.NET MVC历史与现状 88
5.2.1 Web开发发展过程 88
5.2.2 ASP.NET Web Form 89
5.2.3 ASP.NET MVC发展过程 89
5.2.4 ASP.NET MVC的优点 89
5.3初识ASP.NET MVC项目结构 90
5.3.1开发环境 90
5.3.2创建ASP.NET MVC默认项目 90
5.4认识默认项目模板 91
5.4.1五个预安装项目模板 91
5.4.2项目结构 92
5.4.3默认项目的控制器、动作、视图 92
5.5利用项目模板创建ASP.NET MVC项目 94
5.5.1创建控制器 94
5.5.2控制器 97
5.5.3增加视图模板 101
5.5.4使用模型为视图传递信息 104
5.6 URL路由 110
5.6.1使用默认路由表 110
5.6.2创建自定义路由 114
第6章 路由进阶及数据传递 117
6.1解读Default.aspx页面 117
6.1.1 Default.aspx页面不被路由解析 118
6.1.2路由器分析Default.aspx页面 118
6.2 Route类 119
6.2.1 Route类 119
6.2.2 RouteCollection类 121
6.2.3 MapRoute()扩展方法 122
6.2.4优化路由设置 124
6.3在Web Form项目中使用路由 124
6.3.1 WebFormRouteHandler类 125
6.3.2配置全局应用程序类 125
6.3.3运行界面 126
6.4三种传递数据方法 127
6.4.1使用ViewData传递数据 127
6.4.2使用TempData传递数据 128
6.4.3使用Model传递数据 128
6.5传递多个数据对象 129
6.6表单数据绑定 131
6.6.1通过Request.Form读取表单数据 131
6.6.2通过FormCollection读取表单数据 132
6.6.3直接读取表单数据对象 133
第7章HtmlHelper控件解析 135
7.1 FormExtensions类 135
7.1.1 BeginForm 135
7.1.2 BeginRouteForm 136
7.1.3 EndForm 137
7.2 InputExtensions类 138
7.2.1 CheckBox控件 138
7.2.2 Hidden 139
7.2.3 RadionButton 140
7.2.4 Password 141
7.2.5 TextBox 141
7.3 LinkExtensions类 142
7.3.1 ActionLink 142
7.3.2 RouteLink 144
7.4 RenderPartialExtensions类 145
7.5 SelectExtensions类 147
7.5.1 DropDowList 148
7.5.2 ListBox 149
7.6 TextAreaExtensions类 151
7.7 ValidationExtensions类 152
7.7.1 ValidationMessage 152
7.7.2 ValidationSummary类 152
上机部分 156
上机1 LINQ上机 156
第1阶段 指导 156
指导1搭建LINQ开发环境 156
指导2配置Visual Studio 2008 158
第2阶段 练习 159
练习 自己新建一个LINQ的设计器 159
上机2 C#语言的新特性及相关知识 160
第1阶段 指导 160
指导1使用自动属性创建对象、使用集合初始化器初始化对象 160
指导2为字符串类型编写扩展方法 161
第2阶段 练习 162
练习 使用lambda表达式简单查询 162
上机3 LINQ基本子句查询 164
第1阶段 指导 164
指导1查询学生的信息(姓名,班级,笔试,机试) 164
指导2查询班级的男女比例 167
第2阶段 练习 168
练习 查询每个班级笔试成绩平均分 168
上机4 LINQ to SQL 169
第1阶段 指导 169
指导用LINQ实现商品管理系统 169
第2阶段 练习 181
练习1修改商品信息 181
练习2删除商品信息 181
上机5初识ASP.NET MVC开发 182
第1阶段 指导 182
指导1使用MVC建立NerdDinner项目 182
指导2改变路由设置,使首页变为Acount下面的LogOn 182
第2阶段 练习 184
练习1创建NerdDinner数据库 184
练习2创建LINQ to SQL类 184
上机6路由进阶及数据传递 185
第1阶段 指导 185
指导1创建Dinner的增删改查页面 185
指导2使用ViewData绑定下拉框 186
第2阶段 练习 188
练习1将对应数据绑定到增删改查页面 188
练习2对Index页面进行分页 189
上机7 HtmlHelp控件解析 190
第1阶段 指导 190
指导 使用局部视图PartialView 190
第2阶段 练习 193
练习 修改NerdDinner项目中系统自动生成的页面代码 193
参考文献 194