请输入您要查询的百科知识:

 

词条 LINQ技术详解(C#2008版)
释义

语言集成查询(Language Integrated Query, LINQ),是一项微软技术,是一组用于c#和Visual Basic语言的扩展,新增一种自然查询的SQL语法到。NET Framework 的编程语言中,目前可支持 Visual Basic .NET 以及 C# 语言,它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

基本信息

作者:(美国)Joseph C.Rattz.Jr. 译者:程胜 朱新宁 杨萍

出版社:人民邮电出版社

页码:606 页

出版日期:2009年

ISBN:9787115207906

装帧:平装

开本:16

定价:79.00

内容简介

《LINQ技术详解C#2008版》将原理介绍与实践操作相结合,全面系统地阐述了Microsoft C# 2008中的语言集成查询(LINQ)技术的专业知识,包括其原理、功能和应用。特别对LINQ在对象、XML、数据集和SQL上的应用进行了深入分析,详细讲解了这些应用可以使用的操作符和操作符原型,并分别给出使用这些操作符的示例和说明,以便读者理解和编写自己的LINQ代码。

《LINQ技术详解C#2008版》可以为LINQ的初学者、中级用户和高级用户等不同层次的读者提供相应的信息,不仅为LINQ初学者提供入门级的知识和实例,还可以作为LINQ中高级开发人员的工具书。

作者简介

拉特兹(JOSEPH C.RATTZ,JR.)从l990年开始从事软件开发工作,当时有一个朋友请求他帮忙为Commodore Amiga公司编写一个名为ANSI Master的ANSI文本编辑器。后来他又编写了猜词游戏(Gallows)软件。他的编程经历是从编译这些Basic语言开始的,为了获得更快的速度和更强大的功能,他后来使用C语言编写程序。之后,Joe开发了一些应用程序,并卖给了JumpDisk,一家Amiga碟片杂志,也就是Amiga World杂志。由于他居住在一个小城镇,并在非常孤立的平台上进行开发,因此Joe体验到所有错误的编写代码的方法。在努力尝试提高比较低级的应用程序编程水平的时候,他领悟到简单、可维护代码的重要性。在Joe第一次发现可以使用源代码级调试器的时候,就对它一见钟情了。 两年以后,Joe获得了他的第一个软件开发机会,成为了Policy Management Systems Corporation公司的初级程序员,他负责在OS/2和Presentation Manager平台上开发基于客户机朋艮务器的保险应用程序。多年来,在为SCT、DocuCorp、IBM、亚特兰大奥委会、CheckFree、NCR、EDS、Delta Technology、Radiant Systems和Genuine Parts Company开发应用程序的过程中,他又获得了C++、UNIX、Java、ASP、ASP.NET、C#、HTML、DHTML和XML的开发技能。Joe喜欢创造性的用户界面设计,并且很重视在服务器端进行规范性开发的必要性。但是,要让他自己选择,他最喜欢的兼职开发工作就是调试代码。 Joe在Genuine Parts Company公司(NAPA的母公司)的Automotive Part Group Information System部门工作过,在那里他是为自己的“孩子”而工作,这个“孩子”就是Storefront网站。这个为NAPA商店设计的网站可以在IBMAS/400网络上提供浏览账号和数据的功能。

编辑推荐

亲爱的读者:《LINQ技术详解C#2008版》是一本完全关于代码的书。确切地讲。《LINQ技术详解C#2008版》从代码开始。从代码结束。在编写《LINQ技术详解C#2008版》时。我期望创建一个有意义的LI NQ示例的宝库。《LINQ技术详解C#2008版》并没有向读者展示最简单的使用示例,我努力全面介绍有关LINQ的知识,并演示可以使用的所有LI NQ操作符和原型。通过这些信息。读者可以按照其本身的设计来使用LINQ,并让自己的投资获得最大的回报。

贯穿全书,我的目的是以一种读者可以使用的形式提供实际有用的信息。因此,《LINQ技术详解C#2008版》并没有重点介绍无法应用于实际开发中的复杂的示例应用程序,而是重点介绍了每个LINQ操作符、方法或类。不过。在需要使用示例来真正演示一个问题时,也会恰如其分地出现一些比较复杂的示例。例如。演示如何处理并发冲突的代码示例实际上创建了并发冲突,这样读者就可以逐步了解代码并全面了解示例了。

《LINQ技术详解C#2008版》是写给那些对C#有初步了解,想要学习LINQ和DLINQ相关的C#3.0语言功能的读者的。读者不需要熟悉所有最新的C#2.0或3.0功能就能理解LINQ的专业知识。在阅读《LINQ技术详解C#2008版》的高级语言功能部分时。也许需要具备更深入的知识,那么我会从最基础的地方开始介绍。以确保每个读者都能充分准备好必要的知识。

Joseph C.Rattz,Jr.

目录

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

第1章 你好!LINQ 2

1.1 思维转换 2

1.1.1 查询XML 3

1.1.2 查询SQLServer数据库 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到对象

第3章 LINQ到对象简介 52

3.1 LINQ到对象概述 52

3.2 IEnumerableT.序列和标准查询操作符 53

3.3 返回IEnumerableT.生成和延迟查询 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

第6章 LINQ到XML简介 186

6.1 简介 189

6.2 假冒的W3CDOMXMLAPI 189

6.3 小结 191

第7章 LINQ到XMLAPI 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.SetElementValue()方法 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.AddAnnotation()方法添加注释 268

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

7.11.3 使用XObject.RemoveAnnotations()方法删除注释 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到数据集

第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 FieldT操作符 368

10.5.2 SetFieldT操作符 373

10.6 数据表操作符 376

10.6.1 AsEnumerable操作符 376

10.6.2 CopyToDataTableDataRow操作符 377

10.7 小结 383

第11章 其他数据集功能 384

11.1 引用的命名空间 384

11.2 类型化数据集 384

11.3 综合示例 386

11.4 小结 389

第5部分 LINQ到SQL

第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 生成NorthwindXML映射文件 399

12.3 使用LINQ到SQLAPI 399

12.4 IQueryableT 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到SQLAPI 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.LinqAPI类 506

15.4.1 EntitySetT 507

15.4.2 EntityRefT 507

15.4.3 TableT 509

15.4.4 IExecuteResult 510

15.4.5 ISingleResultT 511

15.4.6 IMultipleResults 511

15.5 小结 512

第16章 DataContext 514

16.1 运行示例的先决条件 514

16.1.1 一些常用方法 514

16.1.2 使用LINQ到SQLAPI 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 CreateMethodCallQuery() 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到SQLAPI 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到SQLAPI 594

18.1.2 使用LINQ到XMLAPI 594

18.2 数据库视图 594

18.3 实体类继承 596

18.4 事务 602

18.5 小结 604

……

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/29 2:11:22