当前位置:首页 > 工业技术
LINQ技术详解C#  2008版
LINQ技术详解C#  2008版

LINQ技术详解C# 2008版PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(美)JosephC·Rattz著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115207906
  • 页数:606 页
图书介绍:本书介绍了Microsoft C# 2008中的语言集成查询(LINQ)技术的专业知识。通过原理介绍与实践操作相结合,全面系统地展示了LINQ的功能和应用。
《LINQ技术详解C# 2008版》目录
标签:详解 技术

第1部分 LINQ专业指南:C#2008中的语言集成查询第1章 你好!LINQ 2

1.1 思维转换 2

1.1.1 查询XML 3

1.1.2 查询SQL Server数据库 4

1.2 绪论 5

1.2.1 LINQ是关于数据查询的技术 6

1.2.2 LINQ的组件 6

1.2.3 如何获得LINQ 8

1.3 LINQ并不仅仅用于查询 8

1.4 初学提示 11

1.4.1 在容易混淆的地方使用var关键字 12

1.4.2 对以前版本的集合使用Cast或OfType操作符 13

1.4.3 优先使用OfType操作符而不是Cast操作符 14

1.4.4 不要假定查询是不会出错的 15

1.4.5 利用延迟查询 16

1.4.6 使用DataContext日志 16

1.4.7 使用LINQ论坛 18

1.5 小结 18

第2章 C#3.0语言的LINQ增强功能 19

2.1 C#3.0语言的新功能 19

2.1.1 lambda表达式 20

2.1.2 表达式树 25

2.1.3 关键字变量var、对象初始化和匿名类型 26

2.1.4 扩展方法 31

2.1.5 分部方法 36

2.1.6 查询表达式 38

2.2 小结 50

第2部分 LINQ到对象 52

第3章 LINQ到对象简介 52

3.1 LINQ到对象概述 52

3.2 IEnumerable〈T〉、序列和标准查询操作符 53

3.3 返回IEnumerable〈T〉、生成和延迟查询 54

3.4 Func委托 57

3.5 按字母顺序的标准查询操作符交叉引用 58

3.6 小结 60

第4章 延迟操作符 61

4.1 引用的命名空间 61

4.2 引用的程序集 62

4.3 公共类 62

4.4 按目的分类的延迟操作符 64

4.4.1 限定操作符 64

4.4.2 投影操作符 66

4.4.3 分区操作符 76

4.4.4 串联操作符 83

4.4.5 排序操作符 86

4.4.6 连接操作符 103

4.4.7 分组操作符 106

4.4.8 集合操作符 112

4.4.9 转换操作符 118

4.4.10 元素操作符 125

4.4.11 生成操作符 129

4.5 小结 132

第5章 非延迟操作符 133

5.1 引用的命名空间 133

5.2 公共类 133

5.3 按目的分类的非延迟操作符 136

5.3.1 转换操作符 137

5.3.2 相等操作符 149

5.3.3 元素操作符 152

5.3.4 量词操作符 164

5.3.5 聚合操作符 169

5.4 小结 183

第3部分 LINQ到XML 186

第6章 LINQ到XML简介 186

6.1 简介 189

6.2 假冒的W3C DOM XML API 189

6.3 小结 191

第7章 LINQ到XML API 193

7.1 引用的命名空间 193

7.2 重大的API增强设计 194

7.2.1 使用功能构造来简化XML树构造 194

7.2.2 从以文档为中心到以元素为中心 196

7.2.3 命名、命名空间和前缀 198

7.2.4 提取节点的值 201

7.3 LINQ到XML对象模型 203

7.4 延迟执行查询、节点删除和Halloween问题 204

7.5 XML的创建 207

7.5.1 使用XElement类创建元素 207

7.5.2 使用XAttribute类创建属性 210

7.5.3 使用XComments类创建注释 211

7.5.4 使用XContainer类创建容器 212

7.5.5 使用XDeclaration类创建声明 212

7.5.6 使用XDocumentType类创建文档类型 213

7.5.7 使用XDocument类创建文档 214

7.5.8 使用XName类创建名称 215

7.5.9 使用XNamespace类创建命名空间 216

7.5.10 使用XNode类创建节点 216

7.5.11 使用XprocessingInstruction类创建处理指令 216

7.5.12 使用XstreamingElement类创建流元素 218

7.5.13 使用XText类创建文本 220

7.5.14 使用XCData类创建CData 220

7.6 XML的输出 221

7.6.1 使用XDocument.Save()保存文档 221

7.6.2 使用XElement.Save()保存文档 222

7.7 XML的输入 223

7.7.1 使用XDocument.Load()加载文档 223

7.7.2 使用XElement.Load()加载文档 225

7.7.3 使用XDocument.Parse()或XElement.Parse()解析文档 225

7.8 XML的遍历 226

7.8.1 遍历属性 227

7.8.2 遍历方法 231

7.9 XML的修改 245

7.9.1 添加节点 246

7.9.2 删除节点 250

7.9.3 更新节点 253

7.9.4 子XElement对象的XElement.SetElement Value()方法 257

7.10 XML的属性(Attribute) 259

7.10.1 属性(Attribute)的创建 259

7.10.2 属性(Attribute)的遍历 259

7.10.3 属性(Attribute)的修改 263

7.11 XML的注释 267

7.11.1 使用XObject.Add Annotation()方法添加注释 268

7.11.2 使用XObject.Annotation()或XObject.Annotations()方法访问注释 268

7.11.3 使用XObject.Remove Annotations()方法删除注释 268

7.11.4 注释示例 268

7.12 XML的事件 272

7.12.1 XObject.Changing 272

7.12.2 XObject.Changed 272

7.12.3 事件的两个示例 273

7.12.4 技巧提示或不确定问题 277

7.13 小结 277

第8章 LINQ到XML操作符 278

8.1 LINQ到XML操作符简介 278

8.2 Ancestors操作符 279

8.2.1 原型 279

8.2.2 示例 280

8.3 AncestorsAndSelf操作符 283

8.3.1 原型 284

8.3.2 示例 284

8.4 Attributes操作符 286

8.4.1 原型 286

8.4.2 示例 287

8.5 DescendantNodes操作符 289

8.5.1 原型 289

8.5.2 示例 289

8.6 DescendantNodesAndSelf操作符 291

8.6.1 原型 291

8.6.2 示例 291

8.7 Descendants操作符 292

8.7.1 原型 292

8.7.2 示例 293

8.8 DescendantsAndSelf操作符 295

8.8.1 原型 295

8.8.2 示例 296

8.9 Elements操作符 298

8.9.1 原型 298

8.9.2 示例 298

8.10 InDocumentOrder操作符 300

8.10.1 原型 300

8.10.2 示例 301

8.11 Nodes操作符 302

8.11.1 原型 302

8.11.2 示例 303

8.12 Remove操作符 304

8.12.1 原型 304

8.12.2 示例 304

8.13 小结 306

第9章 其他的XML功能 308

9.1 引用的命名空间 308

9.2 查询 309

9.2.1 不需要到达 309

9.2.2 复杂查询 311

9.3 转换 317

9.3.1 使用XSLT进行转换 318

9.3.2 使用功能构造进行转换 320

9.3.3 提示 322

9.4 验证 329

9.4.1 扩展方法 329

9.4.2 原型 329

9.4.3 获得XML结构描述 330

9.4.4 示例 332

9.5 XPath 344

9.5.1 原型 344

9.5.2 示例 345

9.6 小结 345

第4部分 LINQ到数据集 348

第10章 LINQ到数据集操作符 348

10.1 程序集引用 349

10.2 引用的命名空间 349

10.3 示例中使用的公共代码 349

10.4 数据行集合操作符 351

10.4.1 Distinct操作符 351

10.4.2 Except操作符 355

10.4.3 Intersect操作符 358

10.4.4 Union操作符 360

10.4.5 SequenceEqual操作符 362

10.5 数据行字段操作符 364

10.5.1 Field〈T〉操作符 368

10.5.2 SetField〈T〉操作符 373

10.6 数据表操作符 376

10.6.1 AsEnumerable操作符 376

10.6.2 CopyToDataTable〈DataRow〉操作符 377

10.7 小结 383

第11章 其他数据集功能 384

11.1 引用的命名空间 384

11.2 类型化数据集 384

11.3 综合示例 386

11.4 小结 389

第5部分 LINQ到SQL 392

第12章 LINQ到SQL简介 392

12.1 LINQ到SQL简介 393

12.1.1 DataContext类 395

12.1.2 实体类 395

12.1.3 关联 396

12.1.4 并发冲突检测 397

12.1.5 并发冲突解决 397

12.2 运行示例的先决条件 397

12.2.1 获得Northwind数据库的合适版本 397

12.2.2 生成Northwind实体类 398

12.2.3 生成Northwind XML映射文件 399

12.3 使用LINQ到SQL API 399

12.4 IQueryable<T> 400

12.5 一些常用方法 400

12.5.1 GetStringFromDb() 400

12.5.2 ExecuteStatementInDb() 401

12.6 小结 402

第13章 LINQ到SQL技巧和工具 403

13.1 LINQ到SQL技巧和工具简介 403

13.2 技巧和提示 403

13.2.1 使用DataContext.Log属性 404

13.2.2 使用GetChangeSet()方法 405

13.2.3 考虑使用分部类或映射文件 405

13.2.4 考虑使用分部方法 405

13.3 工具 406

13.3.1 SQLMetal 406

13.3.2 对象关系设计器 411

13.4 结合使用SQLMetal和对象关系设计器 423

13.5 小结 423

第14章 LINQ到SQL数据库操作 425

14.1 运行示例的先决条件 425

14.1.1 一些常用方法 425

14.1.2 使用LINQ到SQL API 426

14.2 标准数据库操作 426

14.2.1 插入 426

14.2.2 查询 431

14.2.3 更新 454

14.2.4 删除 457

14.3 覆盖数据库修改语句 460

14.3.1 覆盖插入方法 461

14.3.2 覆盖更新方法 461

14.3.3 覆盖删除方法 461

14.3.4 示例 462

14.3.5 对象关系设计器中的覆盖功能 464

14.3.6 一些考虑 464

14.4 SQL翻译 465

14.5 小结 467

第15章 LINQ到SQL实体类 468

15.1 运行示例的先决条件 468

15.2 实体类 468

15.2.1 创建实体类 468

15.2.2 XML外部映射文件结构描述 498

15.2.3 投影到实体类或非实体类 499

15.3 使用分部方法扩展实体类 504

15.4 重要的System.Data.Linq API类 506

15.4.1 EntitySet<T> 507

15.4.2 EntityRef<T> 507

15.4.3 Table<T> 509

15.4.4 IExecuteResult 510

15.4.5 ISingleResult<T> 511

15.4.6 IMultipleResults 511

15.5 小结 512

第16章 DataContext 514

16.1 运行示例的先决条件 514

16.1.1 一些常用方法 514

16.1.2 使用LINQ到SQL API 514

16.2 [Your]DataContext类 515

16.3 DataContext类 515

16.3.1 主要用途 518

16.3.2 DataContext()和[Your]DataContext() 524

16.3.3 SubmitChanges() 537

16.3.4 DatabaseExists() 545

16.3.5 CreateDatabase() 546

16.3.6 DeleteDatabase() 547

16.3.7 CreateMethodCall Query() 548

16.3.8 ExecuteQuery() 550

16.3.9 Translate() 552

16.3.10 ExecuteCommand() 554

16.3.11 ExecuteMethodCall() 555

16.3.12 GetCommand() 563

16.3.13 GetChangeSet() 564

16.3.14 GetTable 566

16.3.15 Refresh() 568

16.4 小结 574

第17章 并发冲突 576

17.1 运行示例的先决条件 576

17.1.1 一些常用方法 576

17.1.2 使用LINQ到SQL API 576

17.2 并发冲突 576

17.2.1 乐观并发 577

17.2.2 悲观并发 588

17.2.3 中间层和服务器的可选方案 591

17.3 小结 593

第18章 其他SQL功能 594

18.1 运行示例的先决条件 594

18.1.1 使用LINQ到SQL API 594

18.1.2 使用LINQ到XML API 594

18.2 数据库视图 594

18.3 实体类继承 596

18.4 事务 602

18.5 小结 604

返回顶部