999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

運(yùn)用Linqto Entity快速構(gòu)建信息系統(tǒng)結(jié)構(gòu)

2012-06-16 08:09:06韋軍帥勇
科技視界 2012年24期
關(guān)鍵詞:定義數(shù)據(jù)庫(kù)服務(wù)

韋軍帥勇

(遵義醫(yī)學(xué)院醫(yī)學(xué)信息工程系 貴州 遵義 563000)

0 前言

信息系統(tǒng),指的是利用各種信息技術(shù),尤其是硬件技術(shù)(如:網(wǎng)絡(luò)、計(jì)算機(jī)、存儲(chǔ)設(shè)備)和軟件技術(shù)(如:數(shù)據(jù)庫(kù)、中間件、開發(fā)平臺(tái)、運(yùn)行環(huán)境)構(gòu)建的,能夠面向特定業(yè)務(wù)需求提供相應(yīng)業(yè)務(wù)信息處理和業(yè)務(wù)流程支持功能的系統(tǒng)。

Entity框架的全稱是ADO.NET Entity Framework,是微軟在NET Framework v3.5 SP1引入的新功能,比Linq To SQL更加強(qiáng)大的ORM(Object/Relational Mapping)框架,它讓開發(fā)人員只需要著眼于對(duì)象模型的開發(fā),而不需要考慮它們是如何與關(guān)系數(shù)據(jù)庫(kù)交互,該框架的主要特點(diǎn):

· 支持多種數(shù)據(jù)庫(kù)(Microsoft SQL Server、Oracle和DB2等);

· 強(qiáng)勁的映射引擎,到Net4.0中能很好地支持存儲(chǔ)過程;

· 提供Visual Studio集成工具,進(jìn)行可視化操作;

· 能夠 與 ASP.NET、WPF、WCF、WCF Data Services 進(jìn)行很好的集成。

目前Entity Framework(EF)已經(jīng)開源,又有微軟強(qiáng)力推動(dòng),EF必將成為未來一段時(shí)間windows平臺(tái)的主流開發(fā)架構(gòu),面向程序員級(jí)的EF開發(fā)能夠在網(wǎng)上得到很多的范例和教程。然而,如何運(yùn)用EF對(duì)信息系統(tǒng)分層以及在各層中布署,卻很少有涉及,作者在一次信息系統(tǒng)設(shè)計(jì)工作中,對(duì)此進(jìn)行了初步的研究和實(shí)踐,取得了良好的效果。

1 基于EF的信息系統(tǒng)層次化設(shè)計(jì)

如圖1,我們將系統(tǒng)分為6層,數(shù)據(jù)層(sqlsever2008)、持久層(Entity)、數(shù)據(jù)提供層(SQLServerProvider)、數(shù)據(jù)服務(wù)層(Business)、Web 事務(wù)層(Web),界面層(Web.UI)。 Web.Control用于存放自選開發(fā)的控件,YYControls存放第三方控件。

圖1 系統(tǒng)分層結(jié)構(gòu)

圖2 Web事務(wù)層

圖3 Category實(shí)體類的4種訪問方式

持久層通過EF將數(shù)據(jù)層數(shù)據(jù)庫(kù)表和視映射為Entity層實(shí)體類,表中字段對(duì)應(yīng)實(shí)體類屬性(property),如果有存諸過程或外鍵關(guān)系也能被Entity管理,這樣,客戶端編程人員就可以專注于業(yè)務(wù)中對(duì)象關(guān)系的處理,而不必知道數(shù)據(jù)存取的具體細(xì)節(jié),所有的實(shí)體類與一個(gè)管理類ObjectContext都寫在一個(gè)edmx中,這個(gè)edmx由開發(fā)平臺(tái)自動(dòng)生成。

圖4 數(shù)據(jù)提供層

圖5 接口方法被DataProvider類繼承實(shí)現(xiàn)

Web事務(wù)層Interfaces文件夾(如圖2)中定義的接口規(guī)定客戶端訪問數(shù)據(jù)方式,每個(gè)接口文件定義edmx中一個(gè)實(shí)體類的數(shù)據(jù)訪問方式,每個(gè)實(shí)體類都有4種訪問方式,即:Add(向數(shù)據(jù)庫(kù)表增如記錄)、Remove(刪除記錄)、Update(修改記錄),Get(查詢)。每種訪問方式根據(jù)實(shí)際訪問需要有多個(gè)不同輸入?yún)?shù)的重載。如圖3:接口SY_Category_Interface.cs定義了Category實(shí)體類中4種向數(shù)據(jù)庫(kù)Categoty表的訪問方式(篇幅所限,沒有寫出所有方法,返回值也未給出),對(duì)應(yīng)于所有實(shí)體類的接口由一個(gè)總接口繼承 (public interface SY_Whole_Interface:SY_Archive_Interface,SY_Category_Interface,SY_Code_Interface,……),再在文件SY_Whole_Abstr-Class.cs中 以 public abstract class SY_Whole_AbstrClass:SY_Whole_Interface方式由虛類SY_Whole_AbstrClass繼承,至此,Web事務(wù)層完成了系統(tǒng)向上層提供的數(shù)據(jù)訪問功能的定義,并將這些功能封裝在虛類SY_Whole_AbstrClass中交給數(shù)據(jù)提供層(SQLServerProvider)實(shí)現(xiàn)。

數(shù)據(jù)提供層(SQLServerProvider)的功能很單純,實(shí)現(xiàn)Web事務(wù)層中接口定義的所有方法。每個(gè)Provider*.cs文件實(shí)現(xiàn)Web事務(wù)層Interfaces文件夾中對(duì)應(yīng)SY_*_Interface.cs定義的方法(如圖4),如:ProviderCategory.cs實(shí) 現(xiàn)SY_Category_Interface.cs中定義的方法(如圖 5),可見,SQLServerProvider層與Web層之間的通訊是通過繼承關(guān)系即 partial class DataProvider:SY_Whole_AbstrClass實(shí)現(xiàn),每個(gè)Provider*.cs文件實(shí)現(xiàn)DataProvider類的部分方法。

圖6 Bussiness層

圖7 Bussiness層服務(wù)的實(shí)現(xiàn)

Bussiness層(如圖6)將Provider層實(shí)現(xiàn)的數(shù)據(jù)訪問方法以服務(wù)的方式提供給Web.UI界面層。在這層,每個(gè)類對(duì)應(yīng)一個(gè)實(shí)體類(數(shù)據(jù)庫(kù)表),如文件CategoryService.cs中存放的類CategoryService就是為界面層提供對(duì)數(shù)據(jù)庫(kù)表SYS_Category的訪問服務(wù),其服務(wù)方式實(shí)際就是調(diào)用Provider層DataProvider類一個(gè)實(shí)例的相應(yīng)方法 (如圖7),與Bussinessr層不同的是,Provider層實(shí)現(xiàn)了對(duì)所有數(shù)據(jù)庫(kù)實(shí)體的訪問方法,但這些方法都屬于同一個(gè)類DataProvider。Bussiness重新將服務(wù)按實(shí)體類(數(shù)據(jù)庫(kù)表)分別提供的目的主要在于避免UI層開發(fā)人員感到迷惑。

2 結(jié)論

在上述6層結(jié)構(gòu)中,數(shù)據(jù)層是數(shù)據(jù)提供者,UI層是數(shù)據(jù)最終消費(fèi)者,Entity層將數(shù)據(jù)庫(kù)實(shí)體映射為程序中的實(shí)體類,Web層定義能提供的數(shù)據(jù)訪問方式,Provider層實(shí)現(xiàn)這些方式然后傳給Bussiness層以服務(wù)的方式向UI層提供,每一層功能明確,服務(wù)與被服務(wù)關(guān)系明確,使系統(tǒng)具有很好的可靠性、擴(kuò)展性,只要數(shù)據(jù)庫(kù)結(jié)構(gòu)不是根本性變化,都可只在Entity層作少量的修改,系統(tǒng)就能滿足新的業(yè)務(wù)需求。

[1]李智偉.基于ASM的元模型形式化語義的研究[J].計(jì)算機(jī)應(yīng)用究,2012(01):161-164.

[2]孫宏旭.基于有限狀態(tài)機(jī)的模型轉(zhuǎn)換方法的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012(2):10-13,17.

[3]曾一.支持MDA的設(shè)計(jì)模式建模與模型轉(zhuǎn)換方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2012(1):76-80.

[4]馬于濤.一種Web服務(wù)綜合描述模型[J].電子與信息學(xué)報(bào),2012(3):549-556.

猜你喜歡
定義數(shù)據(jù)庫(kù)服務(wù)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
數(shù)據(jù)庫(kù)
修辭學(xué)的重大定義
主站蜘蛛池模板: 亚洲欧美日韩另类在线一| 人妻精品久久无码区| 中文字幕乱码二三区免费| 99免费视频观看| 欧美一级黄色影院| 激情午夜婷婷| 高清无码一本到东京热| 亚洲无码在线午夜电影| 国产国产人在线成免费视频狼人色| 国产精品福利导航| 无码一区二区三区视频在线播放| 啊嗯不日本网站| 国产打屁股免费区网站| 国产91麻豆免费观看| 伊人国产无码高清视频| 无码中文字幕精品推荐| 黄色三级网站免费| julia中文字幕久久亚洲| 日韩欧美国产成人| 欧美成人精品在线| 99这里只有精品免费视频| 国产一级视频久久| 成人福利在线看| 亚洲一欧洲中文字幕在线| 亚洲成年网站在线观看| 精品久久久久成人码免费动漫| 亚洲天堂首页| 亚洲αv毛片| 1769国产精品视频免费观看| 中文字幕在线欧美| 精品久久久久无码| 亚洲 欧美 日韩综合一区| 国产乱视频网站| 亚洲福利网址| 91亚洲精选| 国模视频一区二区| 亚洲综合中文字幕国产精品欧美| 青青草国产一区二区三区| 四虎综合网| 国产产在线精品亚洲aavv| 免费又爽又刺激高潮网址| 久久96热在精品国产高清| 欧美成人一级| 日本一区中文字幕最新在线| 99视频免费观看| 国产激情无码一区二区免费| 九色在线视频导航91| 国产99精品久久| 国产毛片一区| 精品国产福利在线| 51国产偷自视频区视频手机观看| 精品三级网站| 国产在线拍偷自揄拍精品| 制服丝袜国产精品| 成人国产精品一级毛片天堂| www.91中文字幕| 国禁国产you女视频网站| 国产丝袜第一页| a毛片在线| av免费在线观看美女叉开腿| 国产乱子伦视频三区| 一本色道久久88亚洲综合| 婷婷99视频精品全部在线观看 | 亚洲国产中文综合专区在| 国产a在视频线精品视频下载| 777午夜精品电影免费看| 亚洲成av人无码综合在线观看| 国产视频一二三区| 亚洲第一香蕉视频| 国产精品色婷婷在线观看| 美女被操黄色视频网站| 色婷婷国产精品视频| 国产视频资源在线观看| 精品少妇人妻av无码久久| 亚洲va在线∨a天堂va欧美va| 欧美色伊人| 国产一级精品毛片基地| 五月婷婷综合网| 中文无码精品a∨在线观看| 亚洲欧美自拍视频| 国产SUV精品一区二区| 91av国产在线|