本书重点介绍.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的初中级使用者。
第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 Maping的缺点
1.2.7 MiCFOSOft的数据访问技术蓝图
第2章 ADO.NET 2.0
2.1 AD0.NET概述
2.1.1 Connection
2.1.2 CommandI、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(MultiDle Active 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.11 使用DataAdapter
2.3.12 Filling 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与TableAdapter
2.4.10 商业逻辑的实现1:DB.Direct Methods
2.4.11 商业逻辑的实现2:DataAdapter
2.5 TableAdapter与大型数据库
2.6 TableAdapter的性能
第3章 LINQ
3.1 什么是LINQ Framework
3.1.1 var关键词的涵义
3.1.2 vat能用在哪里
3.1.3 UNQ Framework的概念
……
第4章 LINQ TO SQL
第5章 ADO.NET Entity Framework
第6章 Entity SQL Language
第7章 ASP.NET与TableAdapters
第8章 ASP.NET与LINQ、LINQ To SQL
第9章 ASP.NET与ADO.NET Entity Framework
第10章 ASP.NET与LINQ To SQL实战篇
附录A 关于JOIN
我们正站在软件开发技术大变革的浪头上,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 数据库访问技术发展史
为了满足数据库应用软件不断提升的需求,数据库系统的演化脚步从来不曾停歇,从早期的文件型数据库到现今的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就成为了新一代数据访问技术的主流。
……