ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 决战.NET--.NET Framework 3.5数据库开发圣典.ASP.NET篇

决战.NET--.NET Framework 3.5数据库开发圣典.ASP.NET篇

原创 Linux操作系统 作者:china-pub 时间:2008-11-11 17:38:11 0 删除 编辑

决战.NET--.NET Framework 3.5数据库开发圣典.ASP.NET篇



样章及其他详细信息http://www.china-pub.com/301697

【作  者】黄忠成[同作者作品]
【出 版 社】 电子工业出版社     【书 号】 9787121073014 
【出版日期】 2008 年9月 【开 本】 16开 【页 码】 581     【版 次】1-1 
市场价:¥69.80      pub价:¥52.35

【编辑推荐】
台湾著名技术作家黄忠成最新力作.
全面论述微软.NET Framework 3.5新技术...

【内容简介】
本书重点介绍.NET数据库开发技术,书中详细地论述了.NET Framework 3.5中新一代的访问技术:LINQ、LINQ To SQL、ADO.NET Entity Framework,并提供丰富的ASP.NET范例。全书分为两大部分,第一部分以讲解ADO.NET 2.0、TableAdapter、LINQ、LINQ To SQL、ADO.NET Entit y Framework为主,用简单的“控制台应用程序”,又称为Console Application(命令行)应用程序,充分将这些技术的详细用法及技术特质显现出来。第二部分讲解在ASP.NET中,如何应用TableAdapter、LINQ、LINQ To SQL、ADO.NET Entity Framework等数据访问技术,打造ASP.NET 数据库应用程序,在第10章更以一个ASP.NET的简易版进销存系统作为实例,引导读者们使用LINQ To SQL来建构真实世界中的ASP.NET数据库应用程序。.

本书适合.NET Framework的初学者和ASP.NET的初中级使用者。...

【前言】
我们正站在软件开发技术大变革的浪头上,ASP.NET AJAX、WPF、Silverlight等UI接口技术的大幅跃进,对于许多程序员来说,一定印象非常深刻。相对于这些表象、立即可见的可视化技术来说,驱动它们的数据访问技术却迟迟未见改革。终于,在Visual Studio 2008推出后,停滞许久的数据库访问技术的进化开始迈步,Microsoft于去年宣布即将把查询技术整合进程序语言中,也就是大家所常听见的LINQ,并与此同时推出两个ORM(Obiect Relational Mapping)技术:LINQ To SQL、ADO.NET Entity Framework,在Visual Studio 2008上市同时,LINQ及LINQ To SQL都已内建于.NET Framework 3.5中,并于Visual Studio 2008中获得支持。.
对于许多程序员来说,ORM技术一直都是梦寐以求的,虽然早有许多优秀的3rd-Party厂商推出类似的产品,但受限于支持性、普遍性不足的忧虑,这些3rd-Party厂商的ORM产品最终仍然属于小众市场。在Microsoft推出两个ORM技术后,这些忧虑将不复存在,数据访问技术必将快速朝ORM的方向大步迈进,未来可预期的是,熟悉这些技术是所有.NET程序员所需具备的基本技能。
与多数的程序员一样,我对于ORM也存在着渴望的心态,从了解ORM、使用ORM,乃至于着手设计、架构、撰写ORM Framework,我熟知实现ORM Framework的困难,也了解使用ORM时所渴望获得的功能及稳定性,遂动念撰写此书。..
在这本书中,我尝试将现在及下一代的数据访问技术由繁复的UI接口蜕出,详细解说了ADO.NET 2.0、TableAdapters、LINQ、LINQ To SQL、ADO.NET Entity Framework等技术的特色及用法,最终用4章的应用及实例来引导读者将这些技术用在ASENET应用程序的开发上。
在这本书中,由于我将数据访问技术与UI接口脱钩,完全用“控制台应用程序”的项目模式来演示这些技术,所以即使对ASP.NET不熟、甚至没用过的读者,只要你是使用.NET Framework 3.5,前6章永远是协助各位掌握下一代数据库访问技术的最佳读物。
对熟悉ASP.NET的读者来说,除了前6章可协助掌握这些技术外,后面4章的内容,也能让各位迅速将下一代数据库访问技术应用到现在或是未来的开发项目上。...
黄忠成
2008/3/2于台北

【序言】
转眼认识忠成已七年了,但却是第一次帮他写序。过去的七年,看着忠成从单身宅男变为一家之主,从工程师变为两岸知名的技术作家,从朝九晚五的上班族变为独立顾问,这之间的转变又岂止在软件技术方面的精进。.
微软数据库访问技术历经了多次的变革,每一次变革都有着背后的原因。在2007 年11月 Microsoft .NET Framework 3.5 发布后,长久以来 Microsoft .NET 领域欠缺对象关系映射 (Object-Relational Mapping,ORM )技术的问题,终于有了来自微软的解决方案。新的数据访问技术出现,开发人员拥有了更多的选择,一本能够引导 ASP.NET 开发人员正确运用数据库访问技术的书,便显得格外重要。
忠成的书总会尝试将 Framework 底层的机制剖析清楚,让读者不至落入“知其然不知其所以然” 的窘境。在他每本书的背后,都有不为人知的努力。多年前,忠成便已花费工夫追踪过Hibernate (http://www.hibernate.org)源代码,也自行在 Microsoft .NET Framework 上制作过自己的 ORM Framework,这些历练也让今天这本书能够与众不同。..
本书中有相当的篇幅在介绍 ADO.NET Entity Framework,此一技术预计将在Microsoft Visual Studio 2008 Service Pack 1 推出后,方会正式发布,即便在 MS Press的出书计划中,也必须等到 2008 年9 月才会推出 Programming the Microsoft ADO.NET Entity Framework,中文版读者何其有幸,能够在本书中抢先了解此一技术,这也再次凸显了忠成撰写本书所花费的心力。
微软委托 IDC 的市场调查显示,Microsoft .NET 已跃居关键性任务 (Mission Critical)开发之主要平台,也期望忠成能继续推出优秀作品,让更多的开发人员能轻松跟上此一潮流。...
台湾微软开发工具暨平台推广处
资深应用架构技术经理
李匡正

【目录】
第1章  数据库开发的过去、现在和未来. 1
1.1  数据库访问技术发展史 2
1.2  梦想成为现实,O/R Mapping 3
1.2.1  什么是O/R Mapping技术 3
1.2.2  O/R Mapping好在哪里 4
1.2.3  简单、容易理解 4
1.2.4  有效率 5
1.2.5  可移植性 5
1.2.6  O/R Mapping的缺点 5
1.2.7  Microsoft的数据访问技术蓝图 5
第2章  ADO.NET 2.0 7
2.1  ADO.NET概述 8
2.1.1  Connection 10
2.1.2  Command、DataReader 11
2.1.3  Parameter 13
2.1.4  Transaction 15
2.2  连接模式 19
2.2.1  使用DataReader 20
2.2.2  存储过程 22
2.2.3  Null and DBNull 23
2.2.4  多结果集 23
2.2.5  MARS(Multiple Active Result Sets) 24
2.2.6  异步模式 25
2.3  离线模式 27
2.3.1  更好的离线模式 27
2.3.2  类数据库存储器 28
2.3.3  了解DataSet与DataTable 28
2.3.4  DataTable 29
2.3.5  数据的更新 31
2.3.6  数据的查找 33
2.3.7  Relations 35
2.3.8  Relation Rules 39
2.3.9  DataSet Designer 39
2.3.10  Typed DataSet 42
2.3.11  使用DataAdapter 43
2.3.12  Filling Data 43
2.3.13  Updating Data 44
2.3.14  RowState 45
2.3.15  DataRowVersion 46
2.3.16  AcceptChanges、RejectChanges 48
2.3.17  RowUpdating and RowUpdated事件 48
2.3.18  DataView 50
2.3.19  Create DataView 50
2.3.20  查找数据 52
2.4  TableAdapter 53
2.4.1  使用TableAdapter 54
2.4.2  Typed Query 62
2.4.3  调整自动产生的修改SQL指令 66
2.4.4  使用Stored Procedure 67
2.4.5  使用既存的存储过程 71
2.4.6  DB-Direct Methods 73
2.4.7  Custom DB-Direct Methods 74
2.4.8  TableAdapter的延展性 76
2.4.9  Transaction与TableAdapter 79
2.4.10  商业逻辑的实现1:DB-Direct Methods 82
2.4.11  商业逻辑的实现2:DataAdapter 93
2.5  TableAdapter与大型数据库 101
2.6  TableAdapter的性能 102
第3章  LINQ 103
3.1  什么是LINQ Framework 104
3.1.1  var关键词的涵义 105
3.1.2  var能用在哪里 106
3.1.3  LINQ Framework的概念 106
3.1.4  LINQ Framework 与 .NET Framework 3.5 108
3.2  LINQ To Objects 108
3.2.1  C# 3.0新特色:Extension Method(扩充方法) 110
3.2.2  Extension Method的决议顺序 112
3.2.3  Extension Method的Generics Type Parameter assumption(泛型类型参数推演) 113
3.2.4  C# 3.0 新特色:Lambda Expression(Lambda 表达式) 117
3.2.5  LINQ Expression语法详解 122
3.2.6  Query-Expression 123
3.2.7  Query-Expression的回传值 124
3.2.8  Where-expression 125
3.2.9  Like在哪里 127
3.2.10  Group-expression 129
3.2.11  Join-expression 131
3.2.12  Order-by-expression 132
3.2.13  Select-expression 133
3.2.14  Distinct 133
3.2.15  Distinct With Condition 134
3.2.16  C# 3.0新特色:Object Initializer 136
3.2.17  Select Many 功能 136
3.2.18  Index 137
3.2.19  ElementAt、ElementAtOrDefault 137
3.2.20  Take、TakeWhile 138
3.2.21  Skip、SkipWhile 139
3.2.22  First、FirstOrDefault 140
3.2.23  Last、LastOrDefault 142
3.2.24  Single、SingleOrDefault 142
3.2.25  Any 143
3.2.26  All 144
3.2.27  Contains 145
3.2.28  Reverse 146
3.2.29  Concat 146
3.2.30  ToArray、ToList、ToDictionary 147
3.2.31  ToLookup 149
3.2.32  Union 151
3.2.33  Intersect 152
3.2.34  Except 153
3.2.35  OfType、Cast 154
3.2.36  Sum、Average、Min、Max、Count 155
3.2.37  Aggregate 156
3.2.38  let语句 157
3.2.39  语法之外,明确使用LINQ TO Objects的理由 158
3.2.40  LINQ Expression、LINQ Framework、编译器 159
3.2.41  性能的课题:LINQ To Object时的传回值 161
3.3  LINQ To XML 161
3.3.1  LINQ To XML API的架构 164
3.3.2  新旧类的对应 164
3.3.3  用LINQ To XML来读取XML 165
3.3.4  重头戏,用LINQ TO XML来查询XML 166
3.3.5  Sorting 167
3.3.6  Grouping 168
3.3.7  Join 168
3.4  LINQ To DataSet 171
3.4.1  LINQ与DataTable的结合 171
3.4.2  DataRowVersion 173
3.4.3  Field Extension Method 173
3.4.4  Field Extension Method与DataRow Version 175
3.4.5  SetField Extension Method 175
3.4.6  Join 177
3.4.7  Group 178
3.4.8  Take 180
3.4.9  TakeWhile 180
3.4.10  Skip 181
3.4.11  Index 182
3.4.12  Intersect 183
3.4.13  Except 183
3.4.14  Sum 184
3.4.15  Distinct 185
3.4.16  CopyToDataTable Extension Method 186
3.4.17  Enumerable To DataTable 187
3.4.18  DataView 189
3.5  LINQ的可扩充性 189
3.5.1  最强大的QueryProvider扩充模式 198
3.5.2  后记 208
第4章  LINQ To SQL 209
4.1 什么是LINQ To SQL 210
4.1.1  技术的评估 210
4.1.2  两个ORM技术 210
4.1.3  LINQ To SQL的优势 211
4.1.4  LINQ To SQL的架构 211
4.2  第一个LINQ To SQL程序 214
4.3  Query Converter的概念 220
4.3.1  Take 220
4.3.2  Skip 222
4.3.3  Distinct 223
4.3.4  Count 226
4.3.5  Group 227
4.3.6  Join 228
4.3.7  Sum 229
4.3.8  Group & Sum 230
4.3.9  Disconnected or Connected 231
4.3.10  LINQ To SQL与LINQ To Objects的不同.. 233
4.3.11  静态型 235
4.3.12  实例型 238
4.3.13  LINQ Expression之外 240
4.4  数据的更新 244
4.4.1  创建 245
4.4.2  删除 246
4.4.3  批次更新 246
4.4.4  错误的处理 247
4.4.5  Tracking Changes 251
4.4.6  高级的错误处理 253
4.4.7  RefreshMode 254
4.4.8  处理删除时的错误 255
4.4.9  乐观锁定与悲观锁定 255
4.4.10  Auto-Sync属性 256
4.4.11  处理Identity 字段 257
4.4.12  Delay Load 258
4.4.13  RowVersion模式 260
4.4.14  Group Update or Join Update 261
4.5  DataContext的概念 263
4.5.1  指定DataContext所使用的Connection String 265
4.5.2  Refresh:重读特定的Entity Objects 266
4.5.3  GetChangeSet:取得已经变动的Entity Objects 268
4.5.4  Translate:由DataReader加载Entity Objects 271
4.5.5  DataContext间的Entity Objects传递 273
4.6  关联 275
4.6.1  关联下的数据异动 277
4.6.2  Deferring Load 278
4.6.3  不好吗?Deferring Load 280
4.6.4  AssociateWith 282
4.6.5  One-To-One 的关联 284
4.6.6  LoadWith时该注意的事 286
4.6.7  较复杂的查询 287
4.7  Transaction 292
4.8  继承 295
4.9  存储过程 301
4.9.1  回传值的异动 304
4.9.2  有OUTPUT参数的存储过程 304
4.9.3  有回传值的存储过程 305
4.9.4  以存储过程处理数据异动 306
4.9.5  以存储过程来更新JOIN表 310
4.9.6  直接执行SQL命令 313
4.10  用户定义函数 313
4.11  View的对应 315
4.12  延伸DataContext 315
4.12.1  编写商业逻辑 320
4.12.2  延伸Entity Class 322
4.12.3  计算字段与Lookup字段 326
4.13  大型数据库与LINQ To SQL 328
4.13.1  运用DataContext的继承 329
4.13.2  关联的问题 334
4.13.3  了解LINQ To SQL Designer所产生的程序代码 335
4.13.4  以程序建立one-to-many的关联 337
4.14  外部对应文件 341
4.15  LINQ To SQL的性能 346
4.15.1  O/R Mapping的原罪 346
4.15.2  DataContext与快取对象和内存回收 346
4.15.3  未尽之处 349
第5章  ADO.NET Entity Framework 351
5.1  什么是ADO.NET Entity Framework 352
5.2  ADO.NET Entity Framework的架构 354
5.3  第一个程序 357
5.4  数据的更新 364
5.4.1  数据的更新 366
5.4.2  数据的删除 366
5.5  Associations(关联) 367
5.5.1  Association下的添加 371
5.5.2  Association下的修改 372
5.5.3  Association下的删除 372
5.5.4  较复杂的查询 373
5.5.5  Many-to-Many Association 374
5.6  one-to-many Mappings 376
5.7  Inheritance(继承) 378
5.8  存储过程 386
5.8.1  以存储过程取代CUD操作 390
5.8.2  Result Bindings 392
5.9  ObjectContext 395
5.9.1  指定EntityConnection 397
5.9.2  GetObjectByKey、TryGetObjectByKey 398
5.9.3  Attach、Detach 399
5.9.4  Refresh 402
5.9.5  Tracking Changes机制 403
5.9.6  CreateQuery 405
5.10  Transaction 406
5.11  了解EDM Schema 408
5.11.1  什么是 EDM Schema 408
5.11.2  CSDL(Conceptual Schema Definition Language) 408
5.11.3  EntityContainer Element 412
5.11.4  EntitySet Element 412
5.11.5  FunctionImport Element 413
5.11.6  AssociationSet Element 414
5.11.7  EntityType Element 414
5.11.8  Association Element 415
5.11.9  SSDL(Store Schema Definition Language) 417
5.11.10  MSL(Mapping Specification Language) 420
5.11.11  EntitySetMapping Element 424
5.11.12  AssociationSetMapping Element 425
5.11.13  FunctionImportMapping Element 425
5.11.14  可动态调整的对应机制 426
5.12  Complex Type 427
5.12.1  什么是Complex Type 427
5.12.2  创建Complex Type 428
5.13  ADO.NET Entity Framework与大型数据库 432
5.13.1  与后端数据库的同步 432
5.13.2  无法避免的密密麻麻的画面 434
第6章  Entity SQL Language 437
6.1  Entity Client 438
6.2  Entity SQL基础 440
6.2.1  SELECT 440
6.2.2  SELECT VALUE 441
6.2.3  TOP 442
6.2.4  SKIP 442
6.2.5  LIMIT 442
6.2.6  WHERE 444
6.2.7  LIKE 444
6.2.8  IN 444
6.2.9  BETWEEN 445
6.2.10  GROUP BY 445
6.2.11  JOIN 445
6.3  Functions 445
6.3.1  Aggregate Functions 445
6.3.2  Math Functions 446
6.3.3  String Functions 447
6.3.4  Date、Time Functions 449
6.3.5  Bitwise Functions 449
6.3.6  System Functions 450
6.3.7  Other Functions 450
6.4  Operators 450
6.4.1  SET Operators 450
6.4.2  TYPE Operators 451
第7章  ASP.NET与TableAdapters 453
7.1  与ObjectDataSource的首次交锋 454
7.1.1  运用ObjectDataSource以参数来选取数据 457
7.1.2  现实世界中的Transaction处理 462
7.2  ObjectDataSource的Cache机制 473
7.2.1  ObjectDataSource的Cache运行流程 473
7.2.2  明确指定过期条件 474
7.2.3  使用CacheKeyDependency 475
7.2.4  使用SqlDependency 475
7.3  ObjectDataSource的分页技术 477
7.4  架构!DAL的建立 481
7.4.1  DAL模式下的Connection String 485
7.4.2  ObjectDataSource与乐观锁定 486
第8章  ASP.NET与LINQ、LINQ To SQL 493
8.1  ASP.NET与LINQ 494
8.2  ASP.NET与LINQ To SQL 496
8.2.1  了解WHERE 查询式 504
8.2.2  LIKE在哪里 505
8.2.3  Join的查询 509
8.2.4  Master-Detail 网页 512
8.3  缺了什么?LINQDataSource与Cache 516
8.4  分页技巧的实现 522
8.5  LINQ To SQL与Web Services 525
8.5.1  DataServices 526
8.5.2  乐观锁定 529
8.6  DAL架构 532
第9章  ASP.NET与ADO.NET Entity Framework 533
9.1  ASP.NET与ADO.NET Entity Framework 534
9.2  ADOEntDataSource 540
9.3  ADOEntDataSource与Cache 548
9.4  ADO.NET Entity Framework与Web Service 551
9.5  DAL架构 554
第10章  ASP.NET与LINQTo SQL 实战篇 555
10.1  需求定义 556
10.2  架构设计 556
10.3  建立DAL层 557
10.3.1  产品数据的商业逻辑 559
10.3.2  订单数据的商业逻辑 561
10.3.3  订单的Lookup属性 563
10.3.4  订单明细的Lookup属性 564
10.3.5  库存数据的Lookup属性 565
10.4  主页面的设计 565
10.5  客户数据管理 567
10.6  产品数据管理 569
10.7  业务数据管理 570
10.8  库存数据管理 571
10.9  订单数据管理 572
10.10  未尽之处 574
附录A  关于JOIN ...575



 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16566727/viewspace-490824/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-29

  • 博文量
    922
  • 访问量
    1359732