ADO.NET 3.5高级编程 应用LINQ&Entity FrameworkPDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:孟兆炜编
- 出 版 社:北京:清华大学出版社
- 出版年份:2010
- ISBN:9787302221906
- 页数:607 页
第Ⅰ部分 ADO.NET 3.5概览 3
第1章 使用ADO.NET 3.5提供的新方法访问数据 3
1.1 语言集成查询LINQ 5
1.1.1 LINQ to Objects 8
1.1.2 LINQ to SQL 14
1.1.3 DataContext编程 22
1.1.4 LINQ to Datasets 34
1.1.5 LINQ to Entities 38
1.1.6 LINQ to XML 39
1.1.7 LINQ to XSD 48
1.2 ADO.NET实体框架和实体数据模型 49
1.2.1 从物理架构到概念架构的映射 51
1.2.2 使用实体数据模型向导来创建默认实体数据模型 53
1.2.3 使用实体数据模型Designer来修改存储架构到概念架构的映射 54
1.2.4 根据数据模型创建和绑定数据源 56
1.2.5 具体化对象上下文 57
1.3 小结 58
第Ⅱ部分 LINQ简介 65
第2章 理解LINQ的体系结构和实现 65
2.1 .NET Fx 3.5中支持LINQ的名称空间 66
2.2 支持LINQ的C#和VB扩展 67
2.2.1 隐式类型化局部变量 68
2.2.2 对象初始化器 70
2.2.3 使用对象初始化器的数组初始化器 71
2.2.4 集合初始化器 72
2.2.5 匿名类型 72
2.2.6 扩展方法 73
2.2.7 匿名方法和通用谓词 76
2.2.8 Lambda表达式 78
2.2.9 标准查询操作符 81
2.2.10 表达式树和编译查询 84
2.2.11 IQueryable<T>接口和领域相关的LINQ实现 89
2.3 小结 89
第3章 使用LINQ to Objects执行LINQ查询表达式 91
3.1 标准查询操作符分组 92
3.2 C# 3.0和VB 9.0中作为关键字的标准查询操作符 93
3.3 LINQ项目样例查询浏览器 94
3.4 LINQ to Objects代码示例的样例类 96
3.4.1 C#类定义和初始化代码样例 97
3.4.2 VB类定义和初始化代码样例 99
3.5 限制操作符:Where 100
3.5.1 简单Where表达式 101
3.5.2 复合Where表达式 101
3.5.3 带有Index参数的方法调用及IndexOf()的使用 103
3.6 投影操作符 105
3.6.1 Select 105
3.6.2 SelectMany 107
3.7 分区操作符 110
3.7.1 Take 111
3.7.2 Skip 111
3.7.3 Skip/Take样例 112
3.7.4 TakeWhile 113
3.7.5 SkipWhile 113
3.7.6 SkipWhile/TakeWhile样例 114
3.8 连接操作符 114
3.8.1 Join 115
3.8.2 GroupJoin 117
3.9 串联操作符:Concat 119
3.10 排序操作符 121
3.10.1 OrderByDescending 122
3.10.2 ThenBy 122
3.10.3 ThenByDescending 122
3.10.4 Reverse 123
3.10.5 Ordering操作符的示例 123
3.11 分组操作符:GroupBy 125
3.11.1 使用方法调用语法的GroupBy操作 126
3.11.2 使用查询表达式语法的GroupBy操作 127
3.12 集合操作符 129
3.12.1 Distinct 129
3.12.2 Union 130
3.12.3 Intersect 131
3.12.4 Except 132
3.13 转换操作符 133
3.13.1 AsEnumerable 133
3.13.2 AsQueryable 133
3.13.3 Cast 135
3.13.4 OfType 137
3.13.5 To...操作符 138
3.14 相等操作符:SequenceEqual 143
3.15 元素操作符 144
3.15.1 First、FirstOrDefault 145
3.15.2 Last、LastOrDefault 145
3.15.3 Single、SingleOrDefault 146
3.15.4 DefaultlfEmpty 146
3.15.5 ElementAt、ElementAtOrDefault 147
3.16 生成操作符 147
3.16.1 Range 148
3.16.2 Repeat 148
3.16.3 Empty 148
3.17 量词操作符 148
3.17.1 Any 149
3.17.2 All 149
3.17.3 Contains 150
3.18 聚集操作符 150
3.18.1 Count和LongCount 150
3.18.2 Min、Max、Sum和Average 151
3.18.3 Aggregate 152
3.19 小结 154
第4章 使用高级查询操作符和表达式 157
4.1 浏览聚集操作符的基本查询语法 157
4.1.1 数字操作符的基本方法调用语法 158
4.1.2 使用Let临时局部聚集变量 160
4.1.3 格式化查询输出 161
4.2 在聚集查询中使用Group By 162
4.2.1 分组关联子对象 163
4.2.2 分组连接子对象 164
4.2.3 用层次化分组连接表达式组合连接操作和Group By操作 166
4.2.4 使用嵌套LINQ查询比较组连接 168
4.2.5 使用实体关联模拟左外连接 170
4.3 充分利用Contains()标准查询操作符 171
4.3.1 使用复合OR操作符模拟SQL WHERE子句 171
4.3.2 使用Contains()模拟SQL IN()函数 173
4.4 通过编译查询表达式树提高性能 174
4.5 测试LINQ to SQL和LINQ to Entities项目的Mocking集合 178
4.5.1 创建Mock对象和初始化器 179
4.5.2 使用GroupJoin表达式创建对象图 184
4.6 小结 189
第Ⅲ部分 使用领域相关的LINQ实现 197
第5章 使用LINQ to SQL和LinqDataSource 197
5.1 使用LINQ to SQL进行对象关系映射 199
5.1.1 使用LINQ to SQL对象关系设计器将表映射到实体集 199
5.1.2 使用SqlMetal.exe生成部分实体类和映射文件 201
5.1.3 使用*.dbml和*.xml映射文件 204
5.1.4 分析生成类 207
5.1.5 初始化DataContext及其对象图 211
5.2 使用LINQ to SQL作为数据访问层 213
5.2.1 LINQ to SQL查询管道 214
5.2.2 添加、更新和删除对象 217
5.2.3 检测并解决并发冲突 221
5.2.4 用存储过程代替动态SQL 224
5.2.5 将LINQ to SQL变为中间层 227
5.3 使用LinqDataSource控件进行ASP.NET数据绑定 228
5.3.1 在页面中加入LinqDataSource 229
5.3.2 用EntityRef代替数据绑定Web控件的外键值 230
5.3.3 预先加载EntityRef值以降低数据库服务器流量 232
5.4 将Windows窗体控件绑定到实体 235
5.4.1 自动生成必要的层次化数据编辑窗体 235
5.4.2 持久化对实体的编辑和集合的更改 237
5.5 小结 243
第6章 使用LINQ to DataSet查询DataTable 245
6.1 比较DataSets和DataContexts 246
6.2 探索LINQ to DataSet的各种功能 247
6.3 运行只读的LINQ to DataSet查询 249
6.3.1 查询无类型的DataSet 250
6.3.2 定制查找列表 255
6.3.3 查询类型化DataSet 256
6.4 使用AsDataView()为数据绑定创建LinqDataViews 259
6.5 将LINQ查询结果复制到DataTable 263
6.5.1 复制类型化的DataRow 264
6.5.2 基于投影处理匿名类型 265
6.6 小结 269
第7章 使用LINQ to XML处理文档 271
7.1 将XML集成到CLR 271
7.1.1 使用Xen最小化XML/对象的失配 272
7.1.2 使用Cω查询XML 272
7.2 System.Xml.Linq名称空间 273
7.3 查询基本的XML Infoset 275
7.3.1 为VB查询推断架构和启用智能感知技术 277
7.3.2 利用VB 9.0的Axis属性 278
7.3.3 元素和属性内容的隐式键入与显式键入 280
7.4 组合XML Infosets 282
7.4.1 在C# 3.0中使用功能构造 284
7.4.2 使用VB 9.0进行常量XML构造 287
7.5 业务文档中的分组元素和聚集数量值 291
7.5.1 使用GroupJoin生成层次化文档 291
7.5.2 使用一对多和多对一关联 293
7.5.3 聚集每个客户的Order_Details和Orders小计 295
7.6 使用XML名称空间和局部名称 298
7.6.1 C# 3.0中的XML名称空间 300
7.6.2 VB 9.0中的XML名称空间 305
7.7 执行异构连接和查找操作 310
7.7.1 使用查找操作添加子元素组 310
7.7.2 将文档连接至插入元素 315
7.7.3 将文档和LINQ to SQL或者LINQ to Object实体相连接 316
7.8 小结 318
第8章 探索第三方和新兴的LINQ实现 321
8.1 新兴的微软LINQ实现 322
8.1.1 Parallel LINQ 322
8.1.2 LINQ to REST 329
8.1.3 LINQ to XSD 342
8.1.4 LINQ to Stored XML 343
8.2 第三方领域相关的LINQ实现 344
8.2.1 LINQ to Active Directory 344
8.2.2 LINQ to SharePoint 345
8.3 小结 351
第Ⅳ部分 ADO.NET实体框架介绍 359
第9章 使用实体数据模型提升数据抽象级别 359
9.1 理解实体关系模型 361
9.1.1 实体关系和实体数据模型术语 362
9.1.2 实体关系图 363
9.2 理解实体框架结构和组件 364
9.2.1 利用实体数据模型设计器实现从物理层到概念层的映射 366
9.2.2 分析ModelName.edmx文件的节 371
9.3 使用Entity Client、Entity SQL和Client Views 377
9.3.1 用Entity SQL编写EntityQueries 378
9.3.2 作为客户视图执行Entity SQL查询 378
9.4 使用Object Service 383
9.4.1 使用ObjectContext 384
9.4.2 使用Entity SQL编写ObjectQueries 386
9.4.3 使用查询生成器方法合成ObjectQuery 389
9.4.4 使用LINQ to Entities提供者 391
9.5 理解关于持久化透明的争论 392
9.6 小结 394
第10章 定义存储层、概念层和映射层 395
10.1 探索并定制EDMX文件 397
10.1.1 存储模型(SSDL内容) 399
10.1.2 概念模型(CSDL内容) 412
10.1.3 映射(MSL内容) 415
10.2 实现TPH继承 419
10.2.1 设定鉴别器列并创建派生类 420
10.2.2 查询基类和派生类 422
10.3 遍历MetadataWorkspace 428
10.4 小结 431
第11章 Entity SQL简介 433
11.1 使用eSqlBlast Entity SQL查询工具 434
11.1.1 连接页面 434
11.1.2 模型页面 435
11.1.3 查询页面 435
11.1.4 结果页面 436
11.2 理解Entity SQL和Transact-SQL的不同 438
11.2.1 强制使用实体别名前缀 439
11.2.2 要求使用显式投影 440
11.2.3 VALUE修饰符平面化结果 440
11.2.4 使用圆点标记符语法返回多对一导航属性 441
11.2.5 一对多导航属性需要嵌套查询 442
11.2.6 连接是最后的手段 443
11.2.7 NAVIGATE是圆点表示法或嵌套查询的一个复杂的替代候选 444
11.2.8 用REF、DEREF、CREATEREF、ROW和KEY管理实体引用 445
11.2.9 使用类型构造函数创建ROW、Multiset和EntityType的实例 447
11.2.10 UNION、INTERSECT、OVERLAPS和EXCEPT集合操作需要子查询 449
11.2.11 对集合操作符返回的集合排序需要嵌套查询 449
11.2.12 用于集合的操作符ANYELEMENT和FLATTEN 450
11.2.13 ORDER BY子句的SKIP和LIMIT子句处理分页 451
11.2.14 IS OF、OFTYPE和TREAT是多态查询的类型操作符 452
11.2.15 在WHERE子句的约束中使用返回聚集值的子查询将导致抛出异常 453
11.3 对EntityClient执行eSQL查询 454
11.3.1 解析EntityDataReader返回的IExtendedDataRecord 455
11.3.2 测量EntitySQL查询的性能损失 458
11.3.3 执行参数化eSQL查询 459
11.4 使用SQL Server Compact作为实体框架的数据存储 461
11.5 小结 462
第Ⅴ部分 实现ADO.NET实体框架 469
第12章 利用对象服务和LINQ to Entities 469
12.1 探索生成的实体类 469
12.1.1 ModelNameEntities局部类 470
12.1.2 EntityName局部类 472
12.1.3 实体类序列化 477
12.2 执行eSQL ObjectQuery 479
12.3 启用关联实体延迟加载或预先加载 483
12.3.1 使用Load()方法进行延迟加载 483
12.3.2 使用Include()操作符进行预先加载 485
12.4 在加载中排序并过滤关联的EntityCollection 489
12.5 组合查询生成器方法以编写ObjectQuery 491
12.6 编写LINQ to Entities查询 493
12.6.1 不被支持的LINQ关键字、标准查询操作符和重载 494
12.6.2 传统LINQ to Entities查询 494
12.6.3 在LINQ to Entities查询中使用Include()操作符 495
12.6.4 编译LINQ to Entity查询 497
12.6.5 比较LINQ to Entities查询的性能 499
12.7 参数化对象查询 500
12.8 小结 501
第13章 更新实体和复杂类型 503
13.1 理解ObjectContext的ObjectStateManager及其子对象 503
13.2 更新或删除实体 504
13.2.1 将数据更改持久保存到数据存储中 505
13.2.2 记录实体的状态 506
13.2.3 删除选定实体 506
13.2.4 更新相关EntitySet或者EntityObject 507
13.2.5 删除实体及依赖的关联实体 508
13.2.6 事务化更新和删除操作 508
13.3 添加实体 508
13.4 刷新陈旧的实体 509
13.5 验证数据添加和更新 509
13.6 最优化ObjectContext的生命周期 513
13.7 比较LINQ to Entities和带外SQL更新的性能 514
13.8 管理乐观并发冲突 515
13.8.1 对实体属性启用乐观的并发管理 516
13.8.2 使用代码实现乐观的并发管理 517
13.9 通过存储过程执行CRUD操作 520
13.9.1 创建初始数据模型 521
13.9.2 添加FunctionImport以填充EntitySet 522
13.9.3 将Insert、Update和Delete存储过程指派到实体 524
13.10 使用复杂类型 528
13.11 小结 532
第14章 将实体绑定到数据感知控件 533
14.1 将Windows窗体控件绑定到对象数据源实体 534
14.1.1 使用Load()、Include()和Attach()方法修整对象图 535
14.1.2 选择活动的顶级实体实例和相关的实体实例 540
14.1.3 使用未绑定的ComboBoxes来指定关联 543
14.1.4 在组合框中设置复合主键成员 546
14.1.5 将更改持久保存到数据存储中 553
14.2 在ASP.NET服务器控件中使用EntityDataSource 555
14.2.1 在ASP.NET Web应用程序页面中添加EntityDataSource控件 556
14.2.2 探索实体数据源 557
14.2.3 绑定并格式化GridView控件 562
14.2.4 使用GroupBy属性和下拉列表显示按照国家排列的客户 563
14.2.5 添加链接的DetailsView 564
14.3 小结 565
第15章 使用实体框架作为数据源 567
15.1 创建ADO.NET数据服务数据源 568
15.1.1 理解REST体系结构 570
15.1.2 创建简单的Web服务并在浏览器中使用该服务 570
15.1.3 导航集合和其成员 572
15.1.4 利用查询字符串选项 575
15.1.5 调用服务操作 578
15.2 通过.NET 3.5客户端库使用ADO.NET数据服务 580
15.2.1 从Windows窗体客户端执行查询 581
15.2.2 使用URI查询和DataService.SaveChanges()更改EntitySet 589
15.3 通过AJAX客户端库使用ADO.NET数据服务 596
15.3.1 熟悉JavaScript对象标记 596
15.3.2 创建Astoria的AJAX测试客户端 597
15.3.3 添加、编辑和删除实体 600
15.4 小结 602
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《教师教育系列教材 心理学原理与应用 第2版 视频版》郑红,倪嘉波,刘亨荣编;陈冬梅责编 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019