图书目录

目    录

第Ⅰ部分  LINQ项目简介

第1章  LINQ项目 3

1.1  LINQ概述 7

1.2  标准查询操作符 10

1.3  LINQ to XML 概述 11

1.4  LINQ to SQL 概述 13

1.5  本章小结 15

第2章  Visual Studio 2008简介 16

2.1  Visual Studio 2008 16

2.2  语言相关的LINQ特性 20

 2.2.1  查询表达式 20

 2.2.2  隐式的类型化变量 21

 2.2.3  匿名类型 21

 2.2.4  对象和集合初始化器 22

 2.2.5  扩展方法 24

 2.2.6  Lambda表达式 27

2.3  本章小结 28

第3章  LINQ查询 29

3.1  LINQ查询简介 29

 3.1.1  获取数据源 30

 3.1.2  创建查询 31

 3.1.3  执行查询 31

 3.1.4  与SQL语法的比较 33

 3.1.5  查询的概念 35

 3.1.6  var与IEnumerable的比较 38

 3.1.7  常见的查询术语 39

3.1.8  IQueryable和Iqueryable

(Of T)接口 40

3.2  查询语法和方法语法的区别 40

3.3  使用查询语法和方法语法 42

3.4  本章小结 48

第4章  LINQ标准查询操作符 49

4.1  概述 49

4.2  标准查询操作符 50

 4.2.1  投影操作符 51

 4.2.2  限制操作符 52

 4.2.3  排序操作符 52

 4.2.4  联接操作符 55

 4.2.5  分组操作符 58

 4.2.6  串联操作符 59

 4.2.7  聚合操作符 59

 4.2.8  集合操作符 63

 4.2.9  生成操作符 66

 4.2.10  转换操作符 69

 4.2.11  元素操作符 73

 4.2.12  相等操作符 77

 4.2.13  量词操作符 78

 4.2.14  分割操作符 80

4.3  使用查询操作符 83

4.4  本章小结 86

   第Ⅱ部分  LINQ to XML

第5章  理解LINQ to XML 89

5.1  LINQ to XML概述 89

5.2  LINQ to XML编程基础 90

 5.2.1  LINQ to XML类 90

 5.2.2  XElement类 92

 5.2.3  XAttribute类 96

 5.2.4  XDocument类 98

5.3  LINQ to XML编程概念 100

 5.3.1  处理已有的XML 100

5.3.2  使用LINQ to XML保存

XML 102

5.3.3  创建XML 103

5.3.4  遍历XML 104

5.3.5  操纵XML 105

5.3.6  处理属性 110

5.4  LINQ to XML与其他XML

技术的比较 113

5.4.1  LINQ to XML与DOM的

比较 113

5.4.2  LINQ to XML与

XmlReader的比较 113

5.4.3  LINQ to XML与XSLT的

比较 114

5.4.4  LINQ to XML与

MSXML的比较 114

5.5  本章小结 114

第6章  LINQ to XML编程 115

6.1  创建树 115

 6.1.1  C#中树的创建 115

 6.1.2  Visual Basic中树的创建 120

6.2  使用文本填充XML树 121

6.3  查询XML树 123

6.4  修改和重构XML树 129

6.5  序列化XML树 131

6.6  名称空间 133

6.7  本章小结 135

第7章  LINQ to XML和其他LINQ

    数据模型 136

7.1  SQL to XML 136

7.2  XML to SQL 140

 7.2.1  插入 140

 7.2.2  更新 141

7.3  本章小结 143

第8章  LINQ to XML编程高级

    主题 144

8.1  LINQ to XML函数构造 144

8.2  LINQ to XML批注 148

8.3  LINQ to XML轴 151

 8.3.1  Ancestors 152

 8.3.2  Descendants 153

 8.3.3  AncestorsAndSelf 155

 8.3.4  DescendantsAndSelf 155

8.3.5  ElementsAfterSelf和

ElementsBeforeSelf 156

8.4  LINQ to XML事件 158

 8.4.1  Changing事件 158

 8.4.2  Changed事件 160

8.5  流式处理XML文档 161

8.6  流式处理大型XML文档 167

8.7  本章小结 167

第9章  LINQ to XML和

    Visual Basic .NET 169

9.1  创建XML 169

 9.1.1  XML文本简介 169

 9.1.2  表达式 172

 9.1.3  嵌入查询 173

9.1.4  理解Visual Basic XML

文本中的空白 174

9.2  访问XML 175

9.3  加载XML 178

9.4  使用Parse方法操纵XML 179

9.5  Visual Basic下LINQ to 

XML的示例 180

9.6  本章小结 184

  第Ⅲ部分  LINQ to SQL

第10章  LINQ to SQL概述 187

10.1  理解LINQ to SQL 187

10.2  LINQ to SQL对象模型 189

10.3  基于属性的映射 189

 10.3.1  使用Database属性 190

 10.3.2  映射表 190

 10.3.3  映射列 191

 10.3.4  映射关系 193

 10.3.5  映射存储过程 194

 10.3.6  映射函数 195

 10.3.7  使用Parameter属性 195

10.4  关系数据基础 196

 10.4.1  主键 196

 10.4.2  外键 198

10.5  本章小结 201

第11章  LINQ to SQL查询 202

11.1  查询的概念 202

11.2  DataContext 204

11.3  强类型的DataContext 205

11.4  数据操纵 206

 11.4.1  插入 207

 11.4.2  更新 209

 11.4.3  删除 209

11.5  处理对象 210

 11.5.1  插入 210

 11.5.2  更新 211

 11.5.3  删除 211

11.6  存储过程和用户自定义

函数 211

 11.6.1  映射并调用存储过程 212

11.6.2  映射并调用用户自定义

函数 225

11.7  本章小结 228

第12章  高级查询概念 229

12.1  数据库关系 229

 12.1.1  表示关系 229

 12.1.2  查询 233

12.2  已编译查询 234

12.3  远程查询执行与本地查询

执行的比较 235

 12.3.1  远程执行 235

 12.3.2  本地执行 235

12.4  延迟数据加载与立即数据

加载的比较 236

 12.4.1  DataShape类 237

 12.4.2  关闭延迟加载 238

12.5  组合键 238

12.6  只读数据 239

12.7  本章小结 239

第13章  实体类 240

13.1  跟踪实体变更 240

13.2  提交实体类变更 241

13.3  并发变更和并发冲突 246

 13.3.1  UpdateCheck特性 246

 13.3.2  ConflictMode枚举 247

13.3.3  ChangeConflictException

类 247

 13.3.4  RefreshMode枚举 247

13.4  使用事务 248

13.5  本章小结 251

第14章  LINQ to DataSet 252

14.1  LINQ to DataSet概述 252

14.2  创建LINQ to DataSet

项目 253

14.3  向DataSet中加载数据 254

14.4  LINQ to DataSet查询 255

 14.4.1  单表查询 256

 14.4.2  多表查询 257

 14.4.3  类型化DataSet 259

14.5  数据绑定 260

14.6  比较DataRow 261

14.7  本章小结 264

第15章  LINQ to SQL高级论题 266

15.1  对象关系设计器 266

15.1.1  创建和打开

O/R Designer 266

 15.1.2  创建/配置DataContext 267

15.1.3  为表/视图映射创建

实体类 269

15.1.4  存储过程和函数的

DataContext映射 270

15.1.5  通过调用存储过程实现

使用实体类保存数据 271

15.2  扩展O/R设计器生成的

代码 272

15.3  O/R设计器中类的复数 273

15.4  SQL Metal 274

15.5  外部映射 277

15.6  多层操作 280

15.7  N层最佳实践 281

 15.7.1  乐观并发 281

 15.7.2  插入/删除 282

 15.7.3  N层示例 282

15.8  设计器示例 283

15.9  本章小结 287

第Ⅳ部分  附  录

附录A  案例分析 291

附录B  LINQ to Entities: ADO.NET

Entity Framework 306

附录C  LINQ to XSD 320