NDolls框架使用說(shuō)明-基于DotNet的數(shù)據(jù)庫(kù)操作框架.doc_第1頁(yè)
NDolls框架使用說(shuō)明-基于DotNet的數(shù)據(jù)庫(kù)操作框架.doc_第2頁(yè)
NDolls框架使用說(shuō)明-基于DotNet的數(shù)據(jù)庫(kù)操作框架.doc_第3頁(yè)
NDolls框架使用說(shuō)明-基于DotNet的數(shù)據(jù)庫(kù)操作框架.doc_第4頁(yè)
NDolls框架使用說(shuō)明-基于DotNet的數(shù)據(jù)庫(kù)操作框架.doc_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Ndolls V1.0 數(shù)據(jù)框架使用說(shuō)明NDolls框架使用說(shuō)明1、 框架說(shuō)明1.1 設(shè)計(jì)理念傳統(tǒng)的信息系統(tǒng)開(kāi)發(fā)過(guò)程中,針對(duì)數(shù)據(jù)庫(kù)的操作繁瑣且容易出錯(cuò),并可能存在各方面的安全隱患問(wèn)題。三層架構(gòu)雖然一定程度上實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫(kù)操作的封裝,但在使用過(guò)程中對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的依賴程度過(guò)高,一旦數(shù)據(jù)庫(kù)結(jié)構(gòu)發(fā)生變化,三層的內(nèi)容都需要不同程度的發(fā)生調(diào)整,且對(duì)不同表之間的關(guān)聯(lián)關(guān)系的支持不足。針對(duì)以上問(wèn)題,提出了NDolls框架,對(duì)底層數(shù)據(jù)庫(kù)操作的封裝。最大程度上減少了對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的依賴,只需維護(hù)對(duì)應(yīng)的實(shí)體類即可;并提供多表之間關(guān)聯(lián)關(guān)系的級(jí)聯(lián)操作(事務(wù)處理)及實(shí)體對(duì)象的驗(yàn)證配置化等功能。1.2 框架組成本次涉及兩部分NDolls.Core及NDolls.Data。其中NDolls.Core作為基礎(chǔ)功能支持類庫(kù),封裝了各種公共方法,供NDolls.Data及未來(lái)不斷擴(kuò)展的各種框架組件使用;NDolls.Data則是本次重點(diǎn),提供了支持?jǐn)?shù)據(jù)庫(kù)操作的各種基本操作。2、 使用準(zhǔn)備支持DotNet Framework4.0及以上版本;使用時(shí)在項(xiàng)目中添加NDoll.Core.dll及NDoll.Data.dll引用即可。3、 實(shí)體類配置3.1 數(shù)據(jù)庫(kù)連接配置在主項(xiàng)目的配置文件(Window對(duì)應(yīng)App.config、網(wǎng)站對(duì)應(yīng)Web.config)的appSettings節(jié)中維護(hù)ConnctionString即可。如下圖所示:3.2 實(shí)體類配置NDolls數(shù)據(jù)框架中,最為核心的就是實(shí)體類,通過(guò)對(duì)實(shí)體類的配置可以實(shí)現(xiàn)一系列復(fù)雜的數(shù)據(jù)庫(kù)操作。1) 使用NDolls框架的實(shí)體類都要繼承自NDolls.Data.Entity.EntityBase實(shí)體基類。如下圖所示:2) 對(duì)實(shí)體類的配置主要由NDolls.Data.Attribute程序集中Entity特性、DataField特性、Association特性及Validate特性實(shí)現(xiàn)。 Entity特性用于映射實(shí)體類對(duì)應(yīng)的數(shù)據(jù)庫(kù)表及其主鍵信息。如下圖所示: DataField特性用于配置實(shí)體類中屬性與數(shù)據(jù)庫(kù)的對(duì)應(yīng)關(guān)系,其中包括與數(shù)據(jù)庫(kù)對(duì)應(yīng)的字段名及字段類型等。如下圖所示: Association特性主要負(fù)責(zé)管理實(shí)體類的關(guān)聯(lián)關(guān)系,并通過(guò)配置實(shí)現(xiàn)各種級(jí)聯(lián)操作?!娟P(guān)聯(lián)關(guān)系包括普通關(guān)聯(lián)關(guān)系(1對(duì)1)、聚合關(guān)系(1對(duì)N)、組合關(guān)系(1對(duì)N)。】【CascadeType枚舉類型設(shè)置了各種級(jí)聯(lián)操作的類型,包括級(jí)聯(lián)添加、級(jí)聯(lián)修改、級(jí)聯(lián)查詢等。】普通關(guān)聯(lián)關(guān)系(1對(duì)1)示例,如下圖所示:聚合及組合關(guān)系(1對(duì)N)示例,如下圖所示: Validate特性設(shè)置了對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改或添加操作時(shí)需要驗(yàn)證的屬性字段及驗(yàn)證規(guī)則等?!酒渲序?yàn)證規(guī)則可使用內(nèi)置驗(yàn)證規(guī)則(見(jiàn)附錄一),也可自定義正則表達(dá)式的驗(yàn)證規(guī)則?!緼:內(nèi)置規(guī)則驗(yàn)證示例,如下圖所示:B:自定義驗(yàn)證規(guī)則示例,如下圖所示:4、 使用示例具體應(yīng)用功能需添加一下命名空間的引用,如下圖所示:定義Repository功能容器,通過(guò)容器即可完成數(shù)據(jù)庫(kù)的各種基本操作。Repository的創(chuàng)建可有兩種方式實(shí)現(xiàn),通過(guò)RepositoryFactory獲得對(duì)象或直接實(shí)例化對(duì)象,其中通過(guò)RepositoryFactory方式具有容器緩存功能,具有更好的效率。示例如下圖所示:【CreateRepository方法的參數(shù)可由用戶隨意定制,用來(lái)作為緩存的名稱使用,下次再次調(diào)用時(shí)會(huì)直接獲取緩存對(duì)象,提高效率;建議與調(diào)用的類名一致?!?.1 查詢操作4.1.1 按主鍵查詢對(duì)象通過(guò)將主鍵值作為參數(shù)傳入,查詢?cè)撝麈I對(duì)應(yīng)的對(duì)象。主鍵的配置在Model實(shí)體類中配置。4.1.2 按自定義條件查詢對(duì)象集合每一個(gè)查詢條件對(duì)應(yīng)一個(gè)ConditionItem實(shí)例對(duì)象,若有多個(gè)條件,則需生成由多個(gè)ConditionItem對(duì)象組成的List集合;查詢時(shí)可以通過(guò)ConditionItem中的SearchType設(shè)置該條件查詢匹配方式(精確查詢、模糊查詢、不等于查詢)。示例如下所示:4.1.3 按實(shí)體類內(nèi)容查詢對(duì)象集合此時(shí)的查詢會(huì)將實(shí)體類中不為null的屬性作為查詢條件查詢,進(jìn)行精確匹配后,得出查詢結(jié)果。4.2 新增操作首先,構(gòu)造主實(shí)體對(duì)象;其次,若主對(duì)象有關(guān)聯(lián)對(duì)象則一并構(gòu)造好賦值給主對(duì)象;最后,調(diào)用容器的Add方法完成添加操作。4.3 修改操作修改操作首先構(gòu)造好對(duì)應(yīng)的實(shí)體對(duì)象,然后調(diào)用容器的Update操作

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論