第一图书网

决战.NET

黄忠成 电子工业
出版时间:

2008-9  

出版社:

电子工业  

作者:

黄忠成  

页数:

581  

Tag标签:

无  

前言

  转眼认识忠成已七年了,但却是第一次帮他写序。过去的七年,看着忠成从单身宅男变为一家之主, 从工程师变为两岸知名的技术作家,从朝九晚五的上班族变为独立顾问,这之间的转变又岂止在软件技术方面的精进。  微软数据库访问技术历经了多次的变革,每一次变革都有着背后的原因。在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)开发之主要平台,也期望忠成能继续推出优秀作品,让更多的开发人员能轻松跟上此一潮流。

内容概要

  .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数据库开发圣典》适合.NET Framework的初学者和ASP.NET的初中级使用者。

书籍目录

第1章 数据库开发的过去、现在和未来1.1 数据库访问技术发展史1.2.梦想成为现实,O/RMapping1.2.1 什么是O/RMapping技术1.2.2.O/RMapping好在哪里1.2.3.简单、容易理解1.2.4.有效率1.2.5 可移植性1.2.6 O/RMapping的缺点1.2.7 Microsoft的数据访问技术蓝图第2章ADO.NET2.072.1 ADO.NET概述2.1.1 Connection2.1.2.Command、DataReader2.1.3.Parameter2.1.4.Transaction2.2.连接模式2.2.1 使用DataReader2.2.2 存储过程2.2.3 NullandDBNull2.2.4 多结果集2.2.5 MARS(MuldpleAcnveResultSets)2.2.6 异步模式2.3.离线模式2.3.1 更好的离线模式2.3.2 类数据库存储器2.3.3 了解DataSet与DataTable2.3.4 DataTable2.3.5 数据的更新2.3.6 数据的查找2.3.7 Relations2.3.8 RelationRules2.3.9 DataSetDesigner2.3.10 TypedDataSet2.3.11 使用DataAdapter2.3.12 F|llingData2.3.13 UpdatingData2.3.14 RowState2.3.15 DataROWVerSion2.3.16 AcceptChanges,RejectChanges2.3.17 RowUpdatingandRowUpdated事件2.3.18 DataVieW2.3.19 CreateDataVieW2.3.20 查找数据2.4.TableAdapter2.4.1 使用TableAdapter2.4.2.TypedQuery2.4.3 调整自动产生的修改SQL指令2.4.4.使用StoredProcedure2.4.5 使用既存的存储过程2.4.6 DB-DirectMethods2.4.7 CustomDB-DirectMethods2.4.8 TableAdapter的延展性2.4.9 Transaction与TableAd叩ter2.4.10 商业逻辑的实现I:DB-DirectMethods2.4.11 商业逻辑的实现2:DataAdaptcf2.5 TableAdapter与大型数据库2.6 TableAdapter的性能第3章 UNQ3.1 什么是LINQFramework3.1.1 v关键词的涵义3.1.2 var能用在哪里3.1.3 LINQFramework的3.1.4 LINQFramework与.NETFramework3.53.2 LINQToObjects3.2.1 C#3.0新特色:ExtensionMethod(扩充方法)3.2.2 ExtensionMethod的决议顺序3.2.3 ExtensionMethod的GenericsTypeParameterassumption(泛型类~=J参数推演)3.2.4 C#3.0新特~:LambdaExpression(Lamlxla表达式)3.2.5 LINQExpression3.2.6 Query-Expression3.2.7 Query-Expression的回传值3.2.8 Where-expression3.2.9 Like在哪里3.2.10 Group-expression3.2.11 Join-expression3.2.12 0rder-by-expression3.2.13 Select-expression3,2.14 Distinct3.2.15 DistinctWithCondition3.2.16 C#3.0新特~:ObjectInitializer3.2.17 SelectMany功能3.2.18 Index3.2.19 Element,At,ElementAtOrDefault3.2.20 Take,TakeWhile3.2.21 Skip,SkipWhile3.2.22 First,FirstOrDefault3.2.23 Last,LastOrDefault3.2.24 Single,SingleOrDefault3.2.25 Any3.2.26 An3.2.27 ContainsReverse3.2.29 Concat3.2.30 ToArray,ToList,ToDictionary3.2.31ToLookup3.2.32 Union3.2.33 Intersect3.2.34 ExceDt3.2.35 0frypc.Cast3.2.36 Sum、Avemge、Min、Max.C0unh3.2.37 Aggrcgate3.2.38 let语句3.2.39 语法之外,明确使用LINQTOObjects的理由3.2.40 LINQExpression,LINQFramework、编译器3.2.41 性能的课题:LINQToObject时的传回值3.3.LINQToXML3.3.1 LINQToXMLAPI的架构3.3.2 新旧类的对应3.3.3 用LINQToXML来读取XML3.3.4 重头戏,用LINQTOXML采查询XML3.3.5 Soning3.3.6 Grouping3.3.7 J0in3.4.LlNQToDataSet3.4.1 LINQ与DataTable的结合3.4.2 DataROwVerSion3.4.3 FieldExtensionMethod3.4.4 FieldExtensionMethod与DataRowVerslon3.4.5 SetFieldEXtenSionMethOd3.4.6 J0in3.4.7 Gmup3.4.8 Take3.4.9 Tal【eWhile3.4.10 Skjp3.4.11 Ind3.4.12 InterSeCt3.4.13 Except3.4.14 SUM3.4.15 Distinct3.4.16 CopyToDataTableExtensionMethod3.4.17 EnumerableTODataTable3.4.18 Dat“iew3.5 LINQ的可扩充性3.5 1最强大的QueryProvider扩充模式3.5.2 后记第4章 LINQToSQL4.1 什么是LINQToSQL4.1.1 技术的评估4.1.2 两个ORM技术4.1.3.LINQToSQL的优势4.1.4 LINQToSQL的架构4.2.第一个LINQToSQL程序4.3.QueryConverter的概念4.3.1 Take4.3.2 Skip4.3.3 DiStinct4.3.4 COUnt4.3.5 GfoUp4.3.6 J0iⅡ4.3.7 Sum4.3.8 Group&SUm4.3.9 DiSC0nneCtedorC0nneCtcd4.3.1 0LINQToSQL与LINQToObjects的不同4.3.1 1静态型4.3.1 2实例型4.3.1 3L1NQExpression之外4.4 数据的更新4.4.14.4.1 创建4.4.2 删除4.4.3 批次更新4.4.4 错误的处理4.4.5 TraCkingChangeS4.4.6 高级的错误处理4.4.7 RefreShMode4.4.8 处理删除时的错误4.4.9 乐观锁定与悲观锁定4.4.1 0Auto-Sync属性4.4.1 1处理Identity字段4.4.1 2DelayLOad4.4.1 3RowVersion模式4.4.1 4GmUpUpdateOrJ0inUpdate4.5 DataContext的概念4.5.1 指定DataContext所使用的ConnectionS晡ng4.5.2 Refresh:重读特定的EntityObjects4.5.3 GetChangeSet:取得已经变动的Entiyobjects4.5.4 Translate:由DataReader加载Entiyobjects4.5.5 DataContext间的EntityObjects传递4.6 关联4.6.1 关联下的数据异动4.6 2.DefemngLOad4.6.3.不好吗?Defcl呐“gLoad4.6.4.AssociateWith4.6.5 0ne-To-One的关联4.6.6 LoadWith时该注意的事4.6 7较复杂的查询4.7 TranSaction4.8 继承4.9 杯储过程4.9.1 回传值的异动4.9.2 有OUTPUT参数的存储过程4.9.3 有回传值的存储过程4.9.4 以存储过程处理数据异动4.9 5以存储过程来更新JOIN表4.9 6直接执行SQL命令4.1 0用户定义函数4.1 1View的对应4.1 2延伸DataConte4.1 2.1 编写商业逻辑4.1 2.2 延伸EntityClass4.1 2.3 计算字段与Lookup字段人型数据库与LINQToSQL4.1 3.1 运用DataContext的继承4.1 3.2 关联的问题4.1 3.3 了解LINQToSQLDesigner所产生的程序代码4.1 3.4 以程序建立one-to-many的关联外部对应文件LINQToSQL的性能4.1 5.1 0/RMapping的原罪4.1 5.2.DataContext与快取对象和内存回收4.1 5.3 未尽之处第5章 ADO.NETEntityFramework第6章 EntitySQLLanguage第7章 ASP.NET与TableAdapters第8章 ASP.NET与LINQ、LINQToSQL第9章 ASP.NET与ADO.NETEntityFramework第10章 ASP.NET与LINQToSQL实战篇附录A 关于JOIN

章节摘录

  第1章 数据库开发的过去、现在和未来  1.1 数据库访问技术发展史  为了满足数据库应用软件不断提升的需求,数据库系统的演化脚步从来不曾停歇,从早期的文件型数据库到现今的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创造出了数据库应用程序的开发前景。  不过Microsoft自己也明白ODBC的缺点在何处,因此推出了新一代的数据库访问技术:ADO(Access Database Object),ADO除了提供ODBC所能提供的共通Driver规格外,也提供了与VCL类似的CBD架构,自此开始,ADO与BDE成为了数据库访问技术的两大巨头。  从现在来看,BDE已经在这场争斗中败下阵来,追根究底来说,BDE并非是败在技术面,而是败在时势!毕竟Microsoft拥有平台的优势,数据库厂商基于商业考量,很难不为其提供ADO数据库Driver。  ADO与BDE的鼎足之势持很长的一段时间,但技术一日千里,再好的技术终将有不适用的一天,ADO与BDE也不例外。随着网络的盛行,跨Internet的数据库应用成为市场上的新宠,ADO与BDE这种以Client/Server为主的访问技术已无法适用于这个时代,在这个时代中需要的是离线模式及轻量化Driver。因此以此概念为设计标杆的ADO.NET及dbExpress就成为了新一代数据访问技术的主流。


编辑推荐

  本书重点介绍NET数据库开发技术。书中详细地论述了NET Framework3.5中新一代的访问技术:LINQ、LINQ To SQL、ADO NET Entity Framework,并提出了丰富的ASP.NET范例。  全书分为两大部分,第一部分以讲解ADO.NET2.0、TableAdapter、LINQ、LINQ To SQL、ADO.NET Entity Framework为主,用简单的“控制台应用程序”将这些技术的详细用法及技术特质充分显现出来。第二部分讲解在ASP.NET中,如何应用Tableadapter、LINQ To SQL、ADO.NET Entity Framework等数据访问技术,打造ASP.NET数据库应程序。在第10章更骊个ASP.NET的简单版进行销存系统为实例,引导读者使用LINQ To SQL来构建真实世界中的ASP.NET数据库应用程序。  开发工具  除了ADO.NETEntity Framework的相关章节外,本书其他章节均使用Microsoft Visual Studio2008中文版为主要的开发工具,数据库方面则使用了Microsoft SQL Server2005。  本书适合.NET Framework的初学者和ASP.NET的初中级使用者。

图书封面

图书标签Tags

广告

下载页面


决战.NET PDF格式下载



相关图书