书名:决战.NET--.NET Framework3.5数据库开发圣典ASP.NET篇
编号:498603
ISBN:9787121073014[十位:7121073013]
作者:黄忠成
出版社:电子工业出版社
出版日期:2008年01月
页数:581
定价:69.80 元
参考重量:1.000Kg
-------------------------
图书情况:正版二手旧书,绝不影响正常阅读!
绝无缺页少页,发货前再次检查,请放心购买!
* 内容提要 *
《决战NET.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 Entity Framework为主,用简单的“控制台应用程序”,又称为Ceonsole Application(命令行)应用程序,充分将这些技术的详细用法及技术特质显现出来。第二部分讲解在ASP.NET中,如何应用TableAdapter、LINQ、LINQ To SQL、ADO.NET Entity Framework等数据访问技术,打造ASP.NET数据库应用程序,在第10章更以一个ASP.NET的简易版进销存系统作为实例,引导读者使用LINQ To SQL来构建真实世界中的ASP.NET数据库应用程序。
《决战NET.NET Framework 3.5数据库开发圣典》适合
* 图书目录 *
第1章 数据库开发的过去、现在和未来
1.1 数据库访问技术发展史
1.2 梦想成为现实,O/R Mapping
1.2.1 什么是O/R Mapping技术
1.2.2 O/R Mapping好在哪里
1.2.3 简单、容易理解
1.2.4 有 效 率
1.2.5 可移植性
1.2.6 O/R Mapping的缺点
1.2.7 Microsoft的数据访问技术蓝图
第2章 ADO.NET 2.0 7
2.1 ADO.NET概述
2.1.1 Connection
2.1.2 Command、DataReader
2.1.3 Parameter
2.1.4 Transaction
2.2 连接模式
2.2.1 使用DataReader
2.2.2存储过程
2.2.3 Null and DBNull
2.2.4 多结果集
2.2.5 MARS(Muldple Acnve Result Sets)
2.2.6 异步模式
2.3 离线模式
2.3.1 更好的离线模式
2.3.2 类数据库存储器
2.3.3 了解DataSet与DataTable
2.3.4 DataTable
2.3.5 数据的更新
2.3.6 数据的查找
2.3.7 Relations
2.3.8 Relation Rules
2 3 9 DataSet Designer
2 3 10 Typed DataSet
2 3 1 1 使用DataAdapter
2 3 12 F|lling Data
2 3.13 Updating Data
2.3 14 RowState
2 3 15 DataROWVerSion
2.3.16 AcceptChanges, RejectChanges
2.3.17 RowUpdating and RowUpdated事件
2 3 18 DataVieW
2 3 19 Create DataVieW
2.3.20 查找数据
2-4 TableAdapter
2.4.1 使用TableAdapter
2 4.2 Typed Query
2 4 3调整自动产生的修改SQL指令
2.4.4 使用Stored Procedure
2.4.5 使用既存的存储过程
2.4.6 DB-Direct Methods
2.4.7 Custom DB-Direct Methods
2.4.8 TableAdapter的延展性
2.4.9 Transaction与TableAd叩ter
2 4 10 商业逻辑的实现I:DB-Direct Methods
2.4.11 商业逻辑的实现2: DataAdaptcf
2.5 TableAdapter与大型数据库
2.6 TableAdapter的性能
第3章 UNQ
3 1 什么是LINQ Framework
3.1.1 v 关键词的涵义
3.1.2 var能用在哪里
3.1.3 LINQ Framework的
3.1.4 LINQ Framework与 .NET Framework 3.5
3.2 LINQ To Objects
3.2.1 C#3.0新特色: Extension Method(扩充方法)
3.2.2 Extension Method的决议顺序
3.2.3 Extension Method的 Generics Type Parameter assumption
(泛型类 ~=J参数推演 )
3.2.4 C#3.0新特~: LambdaExpression (Lamlxla表达式)
3.2.5 LINQ Expression
3.2.6 Query-Expression
3.2.7 Query-Expression的回传值
3.2.8 Where-expression
3.2.9 Like在哪里
3.2.10 Group-expression
3.2.11 Join-expression
3.2.12 0rder-by-expression
3.2.13 Select-expression
3,2.14 Distinct
3.2.15 Distinct With Condition
3.2.16 C# 3.0新特 ~: Object Initializer
3.2.17 SelectMany功能
3.2.18 Index
3.2.19 Element, At, ElementAtOrDefault
3.2.20 Take, TakeWhile
3.2.21 Skip, SkipWhile
3.2.22 First, FirstOrDefault
3.2.23 Last, LastOrDefault
3.2.24 Single, SingleOrDefault
3.2.25 Any
3.2.26 An
3.2.27 Contains Reverse
3.2.29 Concat
3.2.30 ToArray, ToList, ToDictionary
3.2.31 ToLookup
32 Union.... ....一15l
3.2.33 Intersect... ......152
3 2 34 ExceDt..... .....153
3 2 35 0frypc.Cast....., ....l54
3 2 36 Sum、Avemge、Min、Ma)【.C0unh. . . . . . . . . . .l55
3 2 37 Aggrcgate. . . . . . . . . . . . . . 156
3.2.38 let语句.. .....157
3.2.39语法之外, 明确使用LINQ TO Objects的理由.. . .. . . .l58
3.2.40 LINQ Expression, LINQ Framework、编译器. . . . . ..l 59
3.2.41 性能的课题:LINQ To Object时的传回值. . . .. . .. .l6l
3.3 LINQ To XML.... .....l6l
3.3.1 LINQ To XML API的架构. . . . . . . . l64
3.3.2新旧类的对应.....,, ....1“
3 3 3用LINQ To XML来读取XML“ . . . . . . . . l65
3.3.4重头戏, 用LINQ TO XML采查询XML. . . . . . . . . l66
3 3 5 Soning.一.. ....一l67
3.3.6 Grouping.. ....l68
3 3 7 J0in......, ....,..168
3 4 LlNQ To DataSet. . . . . . . . . , . . . . . I71
3.4.| LINQ与DataTable的结合. . . . . . . . . . . 171
3 4.2 DataROwVerSion. . . . . . . . . . . 173
3.4.3 Field Extension Method. . . . . . . 173
3.4.4 Field Extension Method与DataRow Verslon...... ..,....175
3.4.5 SetField EXtenSion MethOd. . . . . . . . . . . ..,.175
3.46 J0in.... ....177
3.4.7 Gmup... .....178
3.4.8 Take.... ....180
3.4.9 Tal【eWhile. . . . . . . . ,. . . .180
3.4 lO Skjp...... ,......18l
3 4 ll Ind“.... .......182
3.4.12 InterSeCt. . . . . . . . . . . . . . . .183
3 4 13 Except.... .......183
3.4.14 SUm..... ......184
3.4.15 Distinct..
3.4.16 CopyToDataTable Extension Method.........一 .....186
3.4.17 Enumerable TO DataTable. . . . . . . . . . . . . . 187
3 4 18 Dat“ iew. . . . . . . . . . . . . . 189
3.5 LINQ的可扩充性. . . . . . . . . . . 189
3 5 1最强大的QueryProvider扩充模式. . . . . . . l98
3.5.2后记..,.. ....208
第41 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的架构... ....2ll
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 GfoUp... ....227
4 3.6 J0iⅡ...一.. .,....228
4 3 7 SUm..,... .....229
4.3.8 Group& SUm. . . . . . . . . . . . . .230
4.3.9 DiSC0nneCted or C0nneCtcd. . . . . . . . . . . . . 23l
4.3.10 LINQ To SQL与LINQ To Objects的不同...... ..... ,.233
4.3.11静态型.. .....235
4.3.12实例型.., ....238
4.3.13 L1NQ Expression之外. . . . . . .240
4.4数据的更新.... ....,.2“
4.4.1 ........245
4 4.1创建.... .......
4.4.2删除.... .....246
44 3批次更新.. .....246
4.4.4错误的处理. . , . . , . . . . . . . 247
4.4.5 TraCking ChangeS. . . . . . . . . . . 251
4 4 6高级的错误处理....,
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 GmUp Update Or J0in Update. . . .. . . . . . ..26l
4.5 DataContext的概念... ..263
4.5.1 指定DataContext所使用的Connection S晡ng. ..... ...265
4.5.2 Refresh:重读特定的Entity Objects. . . . . . . 266
4.5.3 GetChangeSet:取得已经变动的Enti'y objects..... ..268
4.5.4 Translate:由DataReader加载Enti'y objects....,,... ...271
4.5.5 DataContext间的Entity Objects传递. . . . , .. .273
4 6关联... ..275
4.6.1关联下的数据异动..... ..277
4 6 2 Defemng LOad. . . . . . . . . . 278
4.6.3 不好吗? Defcl呐“ g Load. . . . . 280
4.6.4 AssociateWith.., ...282
4.6.5 0ne-To-One的关联. . . . , . . . . . 284
4.6.6 LoadWith时该注意的事. . . . . . 286
4 6 7较复杂的查询.. ..287
4 7 TranSaction...... ..292
4 8继承... ..295
4 9杯储过程....... ..30l
4.9.1回传值的异动.. ..304
4.9.2有OUTPUT参数的存储过程. . . . . . , . . . 304
4,9.3有回传值的存储过程. . . . . . . . 305
4.9,4以存储过程处理数据异动.., ..306
4 9 5以存储过程来更新JOIN表.. ..310
49 6直接执行SQL命令..... ..313
4.10用户定义函数.... ..313
4.11 View的对应..... ..315
4 12 延伸DataConte
4.12.1 编写商业逻辑. . . , . . . . . . . 320
4.12.2延伸Entity Class. . . . . . . . . . 322
4.12.3计算字段与Lookup字段. . . . 一 . . . . . , . 326
人型数据库与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
外部对应文件....... ......34l
LINQ To SQL的性能. . . . . . , . . , . . . 346
4.15.1 0/R Mapping的原罪. . . . . . . . . . . 346
4.15.2 DataContext与快取对象和内存回收...... ..... .346
4.15.3未尽之处..... .....349
ADO.NET Entity Framework. . . . . . . . . . ,.351
什么是ADO.NET Entity Framework. . . . . . . . . . . 352
ADO.NET Entity Framework的架构. . . . . . . . . . 354
第一个程序.., ......357
数据的更新.. ......364
5.4.1数据的更新. . . . , . . . . . . . . 366
5 4 2数据的删除..... ......366
Associations( 关联) . . . . . . . . . . 367
5.5.1 Association下的添加. . . . . . . . . . . . . 37l
5.5.2 Association下的修改. . . . . . , . . . . . . 372
5.5.3 Association下的删除. . . . . . . . . . . . . . 372
5,5.4较复杂的查询.... ......373
5.5.5 Many-to-Many Association. . . . . . . . . . .374
one-to-many Mappings. . . ,. . . . . . . 376
Inheritance( 继承) . . . . . . . . . . . 378
存储过程... ......386
5.8.1 以存储过程取代CUD操作. . . . . . . . . . 390
5.8.2 Result Bindings. . . . . . . . . . . 392
ObjectconccxI. . . . . . . . . . ,. . ,.395
5.9.1 指定EntityConncctioⅡ . . . . . . . . . . . . . 397
5.9.2 GetObjectByKey, TryGetObjectByKe
3 AttaCh、DetaCh......, .....399
5 9 4 RefreSh.... .....402
5.9.5 Tracking Changes机制.. .....403
5 9.6 CreateQuery......., ....405
5 10 TranSaCtlOn..... ..,,..406
5.11 了解EDM Schema...... ....408
5.11.1 什么是EDM Schema. . . . . . . . . . . . . 408
5 1 1.2 CSDL(Conceptual Schema Dennition Langu89e)... ............408
5.11.3 EntiIyCOntainerElement. . . . . . . . . . . . . . 412
5.11,4 EntitySet Element...一 ....412
5.1 1.5 FUnCnonlmpon Element. . . . . . . . . . . .,. . 413
5.1 1.6 ASSOCiaⅡ 0nSet 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,1l EntitySetMapping Element. . . . . . . . . . . . .424
5.11.12 AssociationSetMapping Element. . . . . . . . . .425
5.11.13 FunctionlmportMapping 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无法避免的密密麻麻X
第6 it Entity SQL Language... ...
……
* 文章节选 *
为了满足数据库应用软件不断提升的需求,数据库系统的演化脚步从来不曾停歇,从早期的文件型数据库到现今的Client/Server数据库。随着数据库系统的演化,与其息息相关的数据访问技术也随之演变,从早期的Library模式到现在大家所熟悉的Driver模式。
在Library模式中,数据库访问技术常与程序语言合为一体,形成只要选择一种程序语言就选择了一种数据库的窘境。到了Driver模式,这个情况已不复存在,数据库访问技术开始向与程序语言脱钩的方向前进,不再与程序语言绑在一块,数据库访问技术从此开始进入独自演化的时代。
这个时代中的技术竞争也是最为激烈的,其中最具代表性的技术是由Microsoft所提出的ODBC概念,它提供了一个Driver的通用规格,让数据库或其他类库的厂商,能依循这个标准来实现支持各种数据库的Driver,只要将其挂载至ODBC的系统中,开发人员就能使用不同的程序语言、一致的概念来访问数据库。
虽然ODBC达到了通用规格的目标,但是其难用及复杂却也成了缺点,这时由Borland所提出的BDE(Borland Database Engine)结合Delphi开发工具进入了市场,Delphi是一个RAD开发工具,其内附的VCL (Visual Component Library)通过将BDE封装为易用的组件,让开发人员能够使用CBD(Component-Base Development)的模式来开发系统,大幅地增进开发人员的生产力。相对于ODBC的难用及复杂,在VCL的支持卜.,Delphi与BDE创造出r数据库应用程序的开发前景。
转眼认识忠成已七年了,但却是第一次帮他写序。过去的七年,看着忠成从单身宅男变为一家之主, 从工程师变为两岸知名的技术作家,从朝九晚五的上班族变为独立顾问,这之间的转变又岂止在软件技术方面的精进。
微软数据库访问技术历经了多次的变革,每一次变革都有着背后的原因。在2007年11月Microsoft.NET Framework 3.5发布后,长久以来Microsoft .NET领域欠缺对象关系映射(Object-Relational Mapping,ORM)技术的问题,终于有了来自微软的解决方案。新的数据访问技术出现,开发人员拥有了更多的选择,一本能够引导ASP.NET开发人员正确运用数据库访问技术的书,便显得格外重要。
忠成的书总会尝试将Framework底层的机制剖析清楚,让读者不至落入“ 知其然不知其所以然” 的窘境。在他每本书的背后,都有不为人知的努力。多年前,忠成便已花费工夫追踪过Hibernate(http://www.hibemate.org)源代码,也自行在Microsoft .NET Framework上制作过自的ORM Framework,这些历练也让今天这本书能够与众不同。
本书中有相当的篇幅在介绍ADO.NET Entity Framework,此一技术预计将在MicrosoftVisual Studio 2008 Service Pack l推出后,方会正式发布, 即便在MS Press的出书计划中,也必须等到2008年9月才会推出Programming the Microsoft®ADO.NET Entity Framework,中文 版读者何其有幸,能够在本书中抢先了解此一技术,这也再次凸显了忠成撰写本书所花费的心力。
微软委托IDC的市场调查显示,Micmsoft.NET已跃居关键性任(Mission Critical)开发之主要平台,也期望忠成能继续推出优秀作品,让更多的开发人员能轻松跟上此一潮流。
* 编辑推荐与评论 *
暂无相关介绍
* 作者介绍 *
暂无相关介绍