3d开奖:实体、实体集及其运用

主页 > 山东快乐扑克3 > 学习经验 > 学电脑学计算机经验 >

实体、实体集及其运用

一、实体

在C#中的写法

山东快乐扑克3 www.rn5v7.cn 在C#中

  写法(1):

  1. public  class UserInfo  
  2.  {  
  3.      public int UserID { getset; }  
  4.  }  
   写法(2):
  1. public class UserinfoEntity  
  2. {  
  3.     private string userid;              ’定义字段名  
  4.     public string ID                    ’定义属性项  
  5.     {  
  6.         get{return userid;}             ’取值[Get……End Get,是可省的]  
  7.         set{userid = value;}            ’赋值[Set……End Set,是可省的]  
  8.   
  9. }  

 

总结,简单比较,方法(一)与方法(二)等价,很明显,写法(一)更简便。

(二)、VB.NET中写法为:

VB.NET中写法:

  1. Public Class UserEntity  
  2. Private _userID As String             ’定义字段名  
  3.     Public Property UserID() As String    ’定义属性项  
  4.         Get                               ’取值[Get……End Get,是可省的]  
  5.             Return _userID  
  6.         End Get  
  7.         Set(value As String)              ’赋值[Set……End Set,是可省的]  
  8.             _userID = value  
  9.         End Set  
  10. End Property  
  11. End Class  

 

说明:上面写了列举了一个名称为UserEntity的实体,其包括一个属性名为_userID的UserID属性项。在现实运用中,一般都会有多个项,只需定义字段名和对应的属性项(根据取值和赋值的需要)即可。

将一个对象的属性集封装成实体,通过赋值、取值过程,实现一个对象属性值的传递。

如一个学生(是一个对象)有学号studentID(20145113145)、姓名name(王五)、性别sex、(男)班级class(火箭班)、身份证号ID(110120199008122014)等属性,

(三)、用法:

运用

C#、VB.NET中用法相同,取值时直接 = UserEntity.UserID ;赋值时UserEntity.UserID = Value(Value为设定值)。

二、实体集

实体集

实体集,就是具有相同属性项的一类实体的集合。

实体与实体集的关系,就像一名学生与一个班级的关系。

在数据表中,一行,承载一个对象的一套信息(属性集),即是一个实体;多行,则是一组对象的属性集。

只需要传递一个个体信息(表中的一行),用实体就可以满足,但如果要传一个群体的信息(一张表中的多行信息),则考虑用实体集。

(一)实体集的表示有表格和泛型。将表格转化成实体集(vb.net)的方法为:

表示:

DataTable数据类型转化为泛型(实体集)

  1. Imports System.Collections.Generic          '引用泛型集合  
  2. Imports System.Reflection                   '引用反射,用它的PropertyInfo  
  3.    
  4. ’将实体组装成实体集的方法  
  5. '将‘DataTable类型’转化为泛型‘实体集’(‘实体集合’)  
  6. Public Class genericCollection  
  7. Public Shared Function converToList(Of T As {New})(ByVal sqlDatatable As DataTable) As List(Of T)  
  8.    
  9.         Dim myList As New List(Of T)  '实例化一个泛型集合  
  10.         Dim myType As Type  '定义一个类型名_变量  
  11.         myType = GetType(T) '用于放置类型  
  12.         Dim sqlDatarow As DataRow '查询表的行集  
  13.         Dim tmpName As String = String.Empty  '定义一个临时变量  
  14.         '遍历DataTable的所有数据行  
  15.         For Each sqlDatarow In sqlDatatable.Rows  
  16.             Dim myT As New T   '实例化类型  
  17.             '定义一个属性集合  
  18.             Dim propertys() As PropertyInfo  
  19.             propertys = myT.GetType().GetProperties()  
  20.             '定义一条属性  
  21.             Dim pr As PropertyInfo  
  22.             '遍历所有属性  
  23.             For Each pr In propertys  
  24.                 tmpName = pr.Name   '将属性名赋给变量容器  
  25.                 '检查DataTable是否包含此列,(列名=属性名)  
  26.                 If (sqlDatatable.Columns.Contains(tmpName)) Then  
  27.                     '判断是否可编辑  
  28.                     If (pr.CanWrite = FalseThen  
  29.                         Continue For  
  30.                     End If  
  31.                     '根据属性名获取对象  
  32.                     Dim value As Object = sqlDatarow(tmpName)  
  33.                     '判断对象内体是否为空  
  34.                     If (value.ToString <> DBNull.Value.ToString) Then  
  35.                         pr.SetValue(myT, value, Nothing'利用反射设置属性  
  36.                     End If  
  37.                 End If  
  38.             Next  
  39.             myList.Add(myT) '添加类型集合  
  40.         Next  
  41.         Return myList '返回泛型集合  
  42. End Function  
  43.    
  44. End Class  

(二)、实体集可以这样用

可以这样用

在程序中对数据的查询、验证、使用是常有的事,对数据库的访问也是必然的。但数据的访问是件耗时的事,尤其面对大数据,在多用户进行操作与共享的时候,数据访问要是能减少那是关乎效能的事。

实体集合myList as Liss(of T_Entity)

  1. Dim k as Integer = 1                                    '定义并初始化为1  
  2. Dim resumecash As Double                                '定义变量  
  3. myList = select_bll.select(T_Entity)  
  4. If myList.Count > 0 Then                                '防止为空  
  5.      Do While k < myList.Count Or k = myList.Count  
  6.         Dim new_entity As Entity.MainEntity = myList.Item(k - 1)  
  7.         If new_entity.Style = "固定用户" Then           '设置条件,指定其中“固定用户”字段,选择符合条件的记录。  
  8.              cardNum = cardNum + 1                      '累加符合条件记录数  
  9.              fastenCash = fastenCash + carditem.Cash    '固定用户销售金  
  10.         End If  
  11.      resumecash = resumecash + new_en.Consumecash       '累加消费金额  
  12.      k = k + 1  
  13.      Loop  
  14. End If  

说明:上述代码可以得到的信息有,映射到表中相当于,表的行数(实体数)、指定一实行的指定记录、符合条件的字段数、任一字段的内容。通过这种形式的信息挖掘,可以

减少多数据库的负荷,在多用户进行操作时能减少访问次数,就减少了线程、减轻了排队造成的拥堵。

 



上一篇:SQL SERVER安全设置攻略   下一篇:Android异步消息处理机制详解及源码分析
55| 410| 765| 211| 510| 236| 82| 676| 38| 204|