一、實體
在c#中
寫法(1):
public class userinfo
}
寫法(2):
public class userinfoentity
』取值[get……end get,是可省的]
set 』賦值[set……end set,是可省的]
} }
總結,簡單比較。方法(一)與方法(二)等價,非常明顯。寫法(一)更簡便。
(二)、vb.net
中寫法為:
public class userentity
private _userid as string 』定義欄位名
public property userid() as string 』定義屬性項
get 』取值[get……end get。是可省的]
return _userid
end get
set(value as string) 』賦值[set……end set,是可省的]
_userid = value
end set
end property
end class
說明:上面寫了列舉了乙個名稱為userentity的實體,其包含乙個屬性名為_userid的userid屬性項。
在現實運用中,一般都會有多個項。僅僅需定義欄位名和相應的屬性項(依據取值和賦值的須要)就可以。
將乙個物件的屬性集封裝成實體,通過賦值、取值過程。實現乙個物件屬性值的傳遞。
如乙個學生(是乙個物件)有學號studentid(20145113145)、姓名name(王五)、性別***、(男)班級class(火箭班)、身份證號id(110120199008122014)等屬性。
(三)、使用方法:
c#、vb.net中使用方法同樣。取值時直接 = userentity.userid ;賦值時userentity.userid = value(value為設定值)。
二、實體集
實體集,就是具有同樣屬性項的一類實體的集合。
實體與實體集的關係,就像一名學生與乙個班級的關係。
在資料表中,一行。承載乙個物件的一套資訊(屬性集),即是乙個實體。多行。則是一組物件的屬性集。
僅僅須要傳遞乙個個體資訊(表中的一行),用實體就能夠滿足,但假設要傳乙個群體的資訊(一張表中的多行資訊),則考慮用實體集。
(一)實體集的表示有**和泛型。
將**轉化成實體集(vb.net
)的方法為:
datatable資料型別轉化為泛型(實體集)
imports system.collections.generic '引用泛型集合
imports system.reflection '引用反射,用它的propertyinfo
』將實體組裝成實體集的方法
'將『datatable型別』轉化為泛型『實體集』(『實體集合』)
public class genericcollection
public shared function convertolist(of t as )(byval sqldatatable as datatable) as list(of t)
dim mylist as new list(of t) '例項化乙個泛型集合
dim mytype as type '定義乙個型別名_變數
mytype = gettype(t) '用於放置型別
dim sqldatarow as datarow '查詢表的行集
dim tmpname as string = string.empty '定義乙個暫時變數
'遍歷datatable的全部資料行
for each sqldatarow in sqldatatable.rows
dim myt as new t '例項化型別
'定義乙個屬性集合
dim propertys() as propertyinfo
propertys = myt.gettype().getproperties()
'定義一條屬性
dim pr as propertyinfo
'遍歷全部屬性
for each pr in propertys
tmpname = pr.name '將屬性名賦給變數容器
'檢查datatable是否包括此列。(列名=屬性名)
if (sqldatatable.columns.contains(tmpname)) then
'推斷是否可編輯
if (pr.canwrite = false) then
continue for
end if
'依據屬性名獲取物件
dim value as object = sqldatarow(tmpname)
'推斷物件內體是否為空
if (value.tostring <> dbnull.value.tostring) then
pr.setvalue(myt, value, nothing) '利用反射設定屬性
end if
end if
next
mylist.add(myt) '加入型別集合
next
return mylist '返回泛型集合
end function
end class
(二)、實體集能夠這樣用
在程式中對資料的查詢、驗證、使用是常有的事。對資料庫的訪問也是必定的。但資料的訪問是件耗時的事,尤其面對大資料,在多使用者進行操作與共享的時候。資料訪問要是能降低那是關乎效能的事。
實體集合mylist as liss(of t_entity)
dim k as integer = 1 '定義並初始化為1
dim resumecash as double '定義變數
mylist = select_bll.select(t_entity)
if mylist.count > 0 then '防止為空
do while k < mylist.count or k = mylist.count
dim new_entity as entity.mainentity = mylist.item(k - 1)
if new_entity.style = "固定使用者" then '設定條件。指定當中「固定使用者」字段,選擇符合條件的記錄。
cardnum = cardnum + 1 '累加符合條件記錄數 fastencash = fastencash + carditem.cash '固定使用者銷售金 end if resumecash = resumecash + new_en.consumecash '累加消費金額 k = k + 1 loop end if
說明:上述**能夠得到的資訊有,對映到表中相當於,表的行數(實體數)、指定一實行的指定記錄、符合條件的字段數、任一欄位的內容。
通過這樣的形式的資訊挖掘,能夠降低多資料庫的負荷。在多使用者進行操作時能降低訪問次數。就降低了執行緒、減輕了排隊造成的擁堵。
運用擴充套件實體構建鍊錶
由於控制代碼在應用程式中可以唯一標示乙個實體,因為它是由資料庫決定的,不會由於實體的變動而導致變化。物件id可能由於多次重複開啟而改變。但是不同的實體可能有相同的乙個控制代碼 acdbhandle adsnametohandler ads nameen handle轉換成acdbobject物件 由...
DTD實體之 引數實體
僅僅在dtd中使用的解析實體稱為引數實體。它使我們能夠簡便地引用或修改dtd中常用的結構,我們只需維護一處 與逐一修改dtd中出現每個結構相比,這種方法簡單得多,但是當我們打算擴充套件結構時,仍然需要編輯dtd。引數實體宣告由以下幾部分組成 entity關鍵字 百分號 名稱和替換值。例如 上面的置換...
mysql實體 mysql實體關係
實體關係 表設計1 1 兩個實體表內,存在相同的主鍵字段 如果記錄的主鍵值等於另乙個關係表內記錄的主鍵值,則兩條記錄的對應為一一對應 優化上稱為垂直分割 1 n乙個實體對應多個其他實體 乙個班級對應多個學生 設計 在多的那段增加乙個字段,用於指向該實體所屬的另外實體的標識 m n多對多 設計典型的利...