決戰(zhàn).NET

出版時(shí)間:2008-9  出版社:電子工業(yè)  作者:黃忠成  頁(yè)數(shù):581  
Tag標(biāo)簽:無(wú)  

前言

  轉(zhuǎn)眼認(rèn)識(shí)忠成已七年了,但卻是第一次幫他寫(xiě)序。過(guò)去的七年,看著忠成從單身宅男變?yōu)橐患抑鳎?從工程師變?yōu)閮砂吨募夹g(shù)作家,從朝九晚五的上班族變?yōu)楠?dú)立顧問(wèn),這之間的轉(zhuǎn)變又豈止在軟件技術(shù)方面的精進(jìn)。  微軟數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)歷經(jīng)了多次的變革,每一次變革都有著背后的原因。在2007年11月Microsoft.NET Framework 3.5發(fā)布后,長(zhǎng)久以來(lái)Microsoft .NET領(lǐng)域欠缺對(duì)象關(guān)系映射(Object-Relational Mapping,ORM)技術(shù)的問(wèn)題,終于有了來(lái)自微軟的解決方案。新的數(shù)據(jù)訪問(wèn)技術(shù)出現(xiàn),開(kāi)發(fā)人員擁有了更多的選擇,一本能夠引導(dǎo)ASP.NET開(kāi)發(fā)人員正確運(yùn)用數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的書(shū),便顯得格外重要?! ≈页傻臅?shū)總會(huì)嘗試將Framework底層的機(jī)制剖析清楚,讓讀者不至落入“ 知其然不知其所以然” 的窘境。在他每本書(shū)的背后,都有不為人知的努力。多年前,忠成便已花費(fèi)工夫追蹤過(guò)Hibernate(http://www.hibemate.org)源代碼,也自行在Microsoft .NET Framework上制作過(guò)自的ORM Framework,這些歷練也讓今天這本書(shū)能夠與眾不同?! ”緯?shū)中有相當(dāng)?shù)钠诮榻BADO.NET Entity Framework,此一技術(shù)預(yù)計(jì)將在MicrosoftVisual Studio 2008 Service Pack l推出后,方會(huì)正式發(fā)布, 即便在MS Press的出書(shū)計(jì)劃中,也必須等到2008年9月才會(huì)推出Programming the Microsoft?ADO.NET Entity Framework,中文  版讀者何其有幸,能夠在本書(shū)中搶先了解此一技術(shù),這也再次凸顯了忠成撰寫(xiě)本書(shū)所花費(fèi)的心力?! ∥④浳蠭DC的市場(chǎng)調(diào)查顯示,Micmsoft.NET已躍居關(guān)鍵性任(Mission Critical)開(kāi)發(fā)之主要平臺(tái),也期望忠成能繼續(xù)推出優(yōu)秀作品,讓更多的開(kāi)發(fā)人員能輕松跟上此一潮流。

內(nèi)容概要

  .NET數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù),書(shū)中詳細(xì)地論述了.NET Framework 3.5中新一代的訪問(wèn)技術(shù):LINQ、LINQ To SQL、ADO.NET Entity Framework,并提供豐富的ASP.NET范例。全書(shū)分為兩大部分,第一部分以講解ADO.NET 2.0、TableAdapter、LINQ、LINQ To SQL、ADO.NET Entity Framework為主,用簡(jiǎn)單的“控制臺(tái)應(yīng)用程序”,又稱(chēng)為Ceonsole Application(命令行)應(yīng)用程序,充分將這些技術(shù)的詳細(xì)用法及技術(shù)特質(zhì)顯現(xiàn)出來(lái)。第二部分講解在ASP.NET中,如何應(yīng)用TableAdapter、LINQ、LINQ To SQL、ADO.NET Entity Framework等數(shù)據(jù)訪問(wèn)技術(shù),打造ASP.NET數(shù)據(jù)庫(kù)應(yīng)用程序,在第10章更以一個(gè)ASP.NET的簡(jiǎn)易版進(jìn)銷(xiāo)存系統(tǒng)作為實(shí)例,引導(dǎo)讀者使用LINQ To SQL來(lái)構(gòu)建真實(shí)世界中的ASP.NET數(shù)據(jù)庫(kù)應(yīng)用程序?!  稕Q戰(zhàn)NET.NET Framework 3.5數(shù)據(jù)庫(kù)開(kāi)發(fā)圣典》適合.NET Framework的初學(xué)者和ASP.NET的初中級(jí)使用者。

書(shū)籍目錄

第1章 數(shù)據(jù)庫(kù)開(kāi)發(fā)的過(guò)去、現(xiàn)在和未來(lái)1.1 數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)發(fā)展史1.2.夢(mèng)想成為現(xiàn)實(shí),O/RMapping1.2.1 什么是O/RMapping技術(shù)1.2.2.O/RMapping好在哪里1.2.3.簡(jiǎn)單、容易理解1.2.4.有效率1.2.5 可移植性1.2.6 O/RMapping的缺點(diǎn)1.2.7 Microsoft的數(shù)據(jù)訪問(wèn)技術(shù)藍(lán)圖第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 存儲(chǔ)過(guò)程2.2.3 NullandDBNull2.2.4 多結(jié)果集2.2.5 MARS(MuldpleAcnveResultSets)2.2.6 異步模式2.3.離線模式2.3.1 更好的離線模式2.3.2 類(lèi)數(shù)據(jù)庫(kù)存儲(chǔ)器2.3.3 了解DataSet與DataTable2.3.4 DataTable2.3.5 數(shù)據(jù)的更新2.3.6 數(shù)據(jù)的查找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 查找數(shù)據(jù)2.4.TableAdapter2.4.1 使用TableAdapter2.4.2.TypedQuery2.4.3 調(diào)整自動(dòng)產(chǎn)生的修改SQL指令2.4.4.使用StoredProcedure2.4.5 使用既存的存儲(chǔ)過(guò)程2.4.6 DB-DirectMethods2.4.7 CustomDB-DirectMethods2.4.8 TableAdapter的延展性2.4.9 Transaction與TableAd叩ter2.4.10 商業(yè)邏輯的實(shí)現(xiàn)I:DB-DirectMethods2.4.11 商業(yè)邏輯的實(shí)現(xiàn)2:DataAdaptcf2.5 TableAdapter與大型數(shù)據(jù)庫(kù)2.6 TableAdapter的性能第3章 UNQ3.1 什么是LINQFramework3.1.1 v關(guān)鍵詞的涵義3.1.2 var能用在哪里3.1.3 LINQFramework的3.1.4 LINQFramework與.NETFramework3.53.2 LINQToObjects3.2.1 C#3.0新特色:ExtensionMethod(擴(kuò)充方法)3.2.2 ExtensionMethod的決議順序3.2.3 ExtensionMethod的GenericsTypeParameterassumption(泛型類(lèi)~=J參數(shù)推演)3.2.4 C#3.0新特~:LambdaExpression(Lamlxla表達(dá)式)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語(yǔ)句3.2.39 語(yǔ)法之外,明確使用LINQTOObjects的理由3.2.40 LINQExpression,LINQFramework、編譯器3.2.41 性能的課題:LINQToObject時(shí)的傳回值3.3.LINQToXML3.3.1 LINQToXMLAPI的架構(gòu)3.3.2 新舊類(lèi)的對(duì)應(yīng)3.3.3 用LINQToXML來(lái)讀取XML3.3.4 重頭戲,用LINQTOXML采查詢(xún)XML3.3.5 Soning3.3.6 Grouping3.3.7 J0in3.4.LlNQToDataSet3.4.1 LINQ與DataTable的結(jié)合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的可擴(kuò)充性3.5 1最強(qiáng)大的QueryProvider擴(kuò)充模式3.5.2 后記第4章 LINQToSQL4.1 什么是LINQToSQL4.1.1 技術(shù)的評(píng)估4.1.2 兩個(gè)ORM技術(shù)4.1.3.LINQToSQL的優(yōu)勢(shì)4.1.4 LINQToSQL的架構(gòu)4.2.第一個(gè)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靜態(tài)型4.3.1 2實(shí)例型4.3.1 3L1NQExpression之外4.4 數(shù)據(jù)的更新4.4.14.4.1 創(chuàng)建4.4.2 刪除4.4.3 批次更新4.4.4 錯(cuò)誤的處理4.4.5 TraCkingChangeS4.4.6 高級(jí)的錯(cuò)誤處理4.4.7 RefreShMode4.4.8 處理刪除時(shí)的錯(cuò)誤4.4.9 樂(lè)觀鎖定與悲觀鎖定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:取得已經(jīng)變動(dòng)的Entiyobjects4.5.4 Translate:由DataReader加載Entiyobjects4.5.5 DataContext間的EntityObjects傳遞4.6 關(guān)聯(lián)4.6.1 關(guān)聯(lián)下的數(shù)據(jù)異動(dòng)4.6 2.DefemngLOad4.6.3.不好嗎?Defcl吶“gLoad4.6.4.AssociateWith4.6.5 0ne-To-One的關(guān)聯(lián)4.6.6 LoadWith時(shí)該注意的事4.6 7較復(fù)雜的查詢(xún)4.7 TranSaction4.8 繼承4.9 杯儲(chǔ)過(guò)程4.9.1 回傳值的異動(dòng)4.9.2 有OUTPUT參數(shù)的存儲(chǔ)過(guò)程4.9.3 有回傳值的存儲(chǔ)過(guò)程4.9.4 以存儲(chǔ)過(guò)程處理數(shù)據(jù)異動(dòng)4.9 5以存儲(chǔ)過(guò)程來(lái)更新JOIN表4.9 6直接執(zhí)行SQL命令4.1 0用戶(hù)定義函數(shù)4.1 1View的對(duì)應(yīng)4.1 2延伸DataConte4.1 2.1 編寫(xiě)商業(yè)邏輯4.1 2.2 延伸EntityClass4.1 2.3 計(jì)算字段與Lookup字段人型數(shù)據(jù)庫(kù)與LINQToSQL4.1 3.1 運(yùn)用DataContext的繼承4.1 3.2 關(guān)聯(lián)的問(wèn)題4.1 3.3 了解LINQToSQLDesigner所產(chǎn)生的程序代碼4.1 3.4 以程序建立one-to-many的關(guān)聯(lián)外部對(duì)應(yīng)文件LINQToSQL的性能4.1 5.1 0/RMapping的原罪4.1 5.2.DataContext與快取對(duì)象和內(nèi)存回收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實(shí)戰(zhàn)篇附錄A 關(guān)于JOIN

章節(jié)摘錄

  第1章 數(shù)據(jù)庫(kù)開(kāi)發(fā)的過(guò)去、現(xiàn)在和未來(lái)  1.1 數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)發(fā)展史  為了滿(mǎn)足數(shù)據(jù)庫(kù)應(yīng)用軟件不斷提升的需求,數(shù)據(jù)庫(kù)系統(tǒng)的演化腳步從來(lái)不曾停歇,從早期的文件型數(shù)據(jù)庫(kù)到現(xiàn)今的Client/Server數(shù)據(jù)庫(kù)。隨著數(shù)據(jù)庫(kù)系統(tǒng)的演化,與其息息相關(guān)的數(shù)據(jù)訪問(wèn)技術(shù)也隨之演變,從早期的Library模式到現(xiàn)在大家所熟悉的Driver模式?! ≡贚ibrary模式中,數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)常與程序語(yǔ)言合為一體,形成只要選擇一種程序語(yǔ)言就選擇了一種數(shù)據(jù)庫(kù)的窘境。到了Driver模式,這個(gè)情況已不復(fù)存在,數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)開(kāi)始向與程序語(yǔ)言脫鉤的方向前進(jìn),不再與程序語(yǔ)言綁在一塊,數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)從此開(kāi)始進(jìn)入獨(dú)自演化的時(shí)代?! ∵@個(gè)時(shí)代中的技術(shù)競(jìng)爭(zhēng)也是最為激烈的,其中最具代表性的技術(shù)是由Microsoft所提出的ODBC概念,它提供了一個(gè)Driver的通用規(guī)格,讓數(shù)據(jù)庫(kù)或其他類(lèi)庫(kù)的廠商,能依循這個(gè)標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)支持各種數(shù)據(jù)庫(kù)的Driver,只要將其掛載至ODBC的系統(tǒng)中,開(kāi)發(fā)人員就能使用不同的程序語(yǔ)言、一致的概念來(lái)訪問(wèn)數(shù)據(jù)庫(kù)?! ‰m然ODBC達(dá)到了通用規(guī)格的目標(biāo),但是其難用及復(fù)雜卻也成了缺點(diǎn),這時(shí)由Borland所提出的BDE(Borland Database Engine)結(jié)合Delphi開(kāi)發(fā)工具進(jìn)入了市場(chǎng),Delphi是一個(gè)RAD開(kāi)發(fā)工具,其內(nèi)附的VCL(Visual Component Library)通過(guò)將BDE封裝為易用的組件,讓開(kāi)發(fā)人員能夠使用CBD(Component.Base Development)的模式來(lái)開(kāi)發(fā)系統(tǒng),大幅地增進(jìn)開(kāi)發(fā)人員的生產(chǎn)力。相對(duì)于ODBC的難用及復(fù)雜,在VCL的支持下,Delphi與BDE創(chuàng)造出了數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)前景?! 〔贿^(guò)Microsoft自己也明白ODBC的缺點(diǎn)在何處,因此推出了新一代的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù):ADO(Access Database Object),ADO除了提供ODBC所能提供的共通Driver規(guī)格外,也提供了與VCL類(lèi)似的CBD架構(gòu),自此開(kāi)始,ADO與BDE成為了數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的兩大巨頭。  從現(xiàn)在來(lái)看,BDE已經(jīng)在這場(chǎng)爭(zhēng)斗中敗下陣來(lái),追根究底來(lái)說(shuō),BDE并非是敗在技術(shù)面,而是敗在時(shí)勢(shì)!畢竟Microsoft擁有平臺(tái)的優(yōu)勢(shì),數(shù)據(jù)庫(kù)廠商基于商業(yè)考量,很難不為其提供ADO數(shù)據(jù)庫(kù)Driver?! DO與BDE的鼎足之勢(shì)持很長(zhǎng)的一段時(shí)間,但技術(shù)一日千里,再好的技術(shù)終將有不適用的一天,ADO與BDE也不例外。隨著網(wǎng)絡(luò)的盛行,跨Internet的數(shù)據(jù)庫(kù)應(yīng)用成為市場(chǎng)上的新寵,ADO與BDE這種以Client/Server為主的訪問(wèn)技術(shù)已無(wú)法適用于這個(gè)時(shí)代,在這個(gè)時(shí)代中需要的是離線模式及輕量化Driver。因此以此概念為設(shè)計(jì)標(biāo)桿的ADO.NET及dbExpress就成為了新一代數(shù)據(jù)訪問(wèn)技術(shù)的主流。

編輯推薦

  本書(shū)重點(diǎn)介紹NET數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)。書(shū)中詳細(xì)地論述了NET Framework3.5中新一代的訪問(wèn)技術(shù):LINQ、LINQ To SQL、ADO NET Entity Framework,并提出了豐富的ASP.NET范例?! ∪珪?shū)分為兩大部分,第一部分以講解ADO.NET2.0、TableAdapter、LINQ、LINQ To SQL、ADO.NET Entity Framework為主,用簡(jiǎn)單的“控制臺(tái)應(yīng)用程序”將這些技術(shù)的詳細(xì)用法及技術(shù)特質(zhì)充分顯現(xiàn)出來(lái)。第二部分講解在ASP.NET中,如何應(yīng)用Tableadapter、LINQ To SQL、ADO.NET Entity Framework等數(shù)據(jù)訪問(wèn)技術(shù),打造ASP.NET數(shù)據(jù)庫(kù)應(yīng)程序。在第10章更驪個(gè)ASP.NET的簡(jiǎn)單版進(jìn)行銷(xiāo)存系統(tǒng)為實(shí)例,引導(dǎo)讀者使用LINQ To SQL來(lái)構(gòu)建真實(shí)世界中的ASP.NET數(shù)據(jù)庫(kù)應(yīng)用程序。  開(kāi)發(fā)工具  除了ADO.NETEntity Framework的相關(guān)章節(jié)外,本書(shū)其他章節(jié)均使用Microsoft Visual Studio2008中文版為主要的開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)方面則使用了Microsoft SQL Server2005?! ”緯?shū)適合.NET Framework的初學(xué)者和ASP.NET的初中級(jí)使用者。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    決戰(zhàn).NET PDF格式下載


用戶(hù)評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7