日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
VB.NET數(shù)據(jù)實(shí)體層實(shí)現(xiàn)方案介紹

作為VB.NET三層架構(gòu)中的首要一層,VB.NET數(shù)據(jù)實(shí)體層占據(jù)著舉足輕重的地位。首先我們來(lái)分析一下它的具體含義。我們首先需要解決的是數(shù)據(jù)的表示方式的問(wèn)題,在VB開發(fā)中,相信大家都遇到過(guò)如何有效的構(gòu)造數(shù)據(jù)實(shí)體的問(wèn)題。#t#

十多年的昭通網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整昭通建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“昭通網(wǎng)站設(shè)計(jì)”,“昭通網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

單個(gè)類,集合類,集合類中如何操作單個(gè)類,如何用填充數(shù)據(jù)實(shí)體,這些問(wèn)題解決起來(lái)都不是很容易,也有很多方法來(lái)實(shí)現(xiàn),對(duì)于集合類的實(shí)現(xiàn),可以用數(shù)組,可以用集合對(duì)象,也可以用字典對(duì)象,當(dāng)然實(shí)例化數(shù)據(jù)實(shí)體也有很多方法,象最常見的工廠模式,這里就不討論了,我在項(xiàng)目中是用TYPED-DATASET對(duì)象來(lái)作為數(shù)據(jù)實(shí)體,個(gè)人覺(jué)得VB.NET數(shù)據(jù)實(shí)體層有以下好處:

1. 數(shù)據(jù)綁定??梢灾苯雍涂丶壎ǎ绕涫蔷W(wǎng)格控件,在VB中是很困難的,除非增加個(gè)屬性來(lái)存放Recordset,這樣一來(lái)又要多增加方法來(lái)初始化Recordset,并且增加了實(shí)例化和封送處理的成本

2. 代碼自動(dòng)生成。少寫很多代碼,尤其是當(dāng)表中字段很多的時(shí)候,并且自動(dòng)提供了序列化功能

3. 集合類。Typed-Dataset本身就是個(gè)集合類,提供添加,刪除,修改,查找單個(gè)類的方法

當(dāng)然也有缺點(diǎn),任何事物都無(wú)法十全十美,比如很難從中派生出子類,實(shí)例化成本高等。

在VB.NET數(shù)據(jù)實(shí)體層自動(dòng)生成Typed-Dataset時(shí),需要做些改動(dòng)使Entity更好的符合OO的特性

A、自動(dòng)生成的表對(duì)象和行對(duì)象是以DataTable和Row結(jié)尾的,這可以通過(guò)加如以下代碼來(lái)更改:在XML文件中的< xml:schema 節(jié)點(diǎn)加入:

xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:codegen="urn:schemas-microsoft-com:xml-msprop" 命名空間

B、重寫 < xs:choice maxOccurs="unbounded"> 節(jié)點(diǎn)后的< xs:element name="Tables”> 節(jié)點(diǎn) < xs:element name="Tables" codegen:typedName="Table" codegen:typedPlural="Tables">

C、由于自動(dòng)生成的代碼遇到某個(gè)字段為NULL時(shí)默認(rèn)是報(bào)錯(cuò),如想不報(bào)錯(cuò),需在每個(gè)Element節(jié)點(diǎn)定義中加入: nillable="true" codegen:nullValue="_null" 或nillable="true" codegen:nullValue="false" 或nillable="true" codegen:nullValue="1900-01-01T00:00:00"

D、Entity的粒度。在考慮實(shí)體對(duì)象的設(shè)計(jì)時(shí),“對(duì)象的粒度”是一個(gè)需要仔細(xì)考慮的問(wèn)題,個(gè)人喜歡粗粒度的Entity,這樣可以減少與數(shù)據(jù)庫(kù)的往返次數(shù),當(dāng)然也不是包含所有的表,這樣效率不高,比如Order,只需要Order 和OrderDetail 表,Product,SalesPerson就不需要了,當(dāng)然也可以用從dataset繼承的自定義類來(lái)作為Entity,但個(gè)人覺(jué)得一般情況下沒(méi)必要,畢竟MS的typed-dataset功能更多,而且實(shí)現(xiàn)起來(lái)也比較復(fù)雜。

以上就是我們?yōu)榇蠹医榻B的VB.NET數(shù)據(jù)實(shí)體層相關(guān)特點(diǎn),希望能對(duì)大家有所幫幫助。


新聞標(biāo)題:VB.NET數(shù)據(jù)實(shí)體層實(shí)現(xiàn)方案介紹
文章來(lái)源:http://www.5511xx.com/article/cdoiiip.html