成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET數(shù)據(jù)實(shí)體層實(shí)現(xiàn)方案介紹

開發(fā) 后端
VB.NET數(shù)據(jù)實(shí)體層的創(chuàng)建對(duì)于代碼的編寫起著非常大的作用,比如在數(shù)據(jù)綁定,代碼的生成,類的應(yīng)用等等方面都體現(xiàn)出了它的作用。

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

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

1. 數(shù)據(jù)綁定。可以直接和控件綁定,尤其是網(wǎng)格控件,在VB中是很困難的,除非增加個(gè)屬性來存放Recordset,這樣一來又要多增加方法來初始化Recordset,并且增加了實(shí)例化和封送處理的成本

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

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

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

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

A、自動(dòng)生成的表對(duì)象和行對(duì)象是以DataTable和Row結(jié)尾的,這可以通過加如以下代碼來更改:在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ì)考慮的問題,個(gè)人喜歡粗粒度的Entity,這樣可以減少與數(shù)據(jù)庫的往返次數(shù),當(dāng)然也不是包含所有的表,這樣效率不高,比如Order,只需要Order 和OrderDetail 表,Product,SalesPerson就不需要了,當(dāng)然也可以用從dataset繼承的自定義類來作為Entity,但個(gè)人覺得一般情況下沒必要,畢竟MS的typed-dataset功能更多,而且實(shí)現(xiàn)起來也比較復(fù)雜。

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

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-01-13 16:52:03

VB.NET導(dǎo)出數(shù)據(jù)

2010-01-07 15:49:10

VB.NET DoLoop

2010-01-19 10:03:35

VB.NET Labe

2010-01-08 18:31:45

VB.NET歷史菜單

2010-01-15 18:12:28

VB.NET超鏈接

2010-01-15 19:17:23

2010-01-12 10:40:58

VB.NET數(shù)據(jù)庫壓縮

2010-01-22 18:14:49

VB.NET菜單組件

2010-01-12 14:51:18

VB.NET業(yè)務(wù)層

2009-10-28 09:55:29

VB.NET MyCl

2010-01-21 17:58:40

VB.NET List

2010-01-15 10:56:50

VB.NET繼承實(shí)現(xiàn)多

2010-01-22 14:59:40

VB.NET表單自動(dòng)提

2010-01-07 16:51:56

VB.NET窗體鉤子

2009-10-23 15:35:42

VB.NET實(shí)用教程

2010-01-22 10:41:33

VB.NET聲明結(jié)構(gòu)

2009-11-10 12:42:47

VB.NET Prin

2009-10-12 13:19:14

VB.NET線程同步

2009-10-29 09:57:16

VB.NET實(shí)現(xiàn)數(shù)據(jù)綁

2010-01-07 15:25:11

VB.NET數(shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩高清一区二区 | 亚洲成人福利在线观看 | 99re视频在线观看 | 中文字幕一区二区三区四区不卡 | 中文字幕日韩欧美 | 99资源| 伊人网综合在线观看 | 免费一区二区 | 999精品在线 | 91久久久久 | 激情欧美日韩一区二区 | 亚洲精品视频免费观看 | 国产一级一级毛片 | a在线视频观看 | 日本免费在线 | 成人免费在线 | 欧美日韩国产传媒 | 另类亚洲视频 | 一级毛片视频 | 成人免费视频观看视频 | 亚洲成人蜜桃 | 69性欧美高清影院 | 久久国产日本 | 国产精品高 | 999精品网| 911网站大全在线观看 | 欧美成人免费在线 | 精品一区二区三区免费视频 | 日韩超碰 | 狠狠综合网 | 国产区高清| 久久久日韩精品一区二区三区 | 天天草天天射 | 久久av网站 | 天堂网中文字幕在线观看 | 色本道 | 国产aa | av在线一区二区三区 | av一级毛片 | 亚洲一区二区三区久久久 | 亚洲黄色一级 |