zoukankan      html  css  js  c++  java
  • 实体、实体集及其运用

    一、实体

    实体

    在C#中的写法

    在C#中

      写法(1):

       public  class UserInfo
        {
            public int UserID { get; set; }
        }
      

     写法(2):

        public class UserinfoEntity
        {
            private string userid;              ’定义字段名
            public string ID                    ’定义属性项
            {
                get{return userid;}             ’取值[Get……End Get,是可省的]
                set{userid = value;}            ’赋值[Set……End Set,是可省的]
    	}
        }

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

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

    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(王五)、性别sex、(男)班级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 {New})(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

    说明:上述代码能够得到的信息有,映射到表中相当于,表的行数(实体数)、指定一实行的指定记录、符合条件的字段数、任一字段的内容。

    通过这样的形式的信息挖掘,能够降低多数据库的负荷。在多用户进行操作时能降低訪问次数。就降低了线程、减轻了排队造成的拥堵。

  • 相关阅读:
    方差分析 | ANOVA | 原理 | R代码 | 进阶 | one way and two way | Analysis of Variance
    GT sport真实赛道详解
    如何成为F1车手?
    统计学 | 漫想
    (转)什么是P问题、NP问题和NPC问题
    一个完整的成年果蝇大脑的电子显微镜图谱 | A Complete Electron Microscopy Volume of the Brain of Adult Drosophila melanogaster
    文献导读 | A Pan-Cancer Analysis of Enhancer Expression in Nearly 9000 Patient Samples
    综述
    GSEA
    (转)决定系数R2
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6955106.html
Copyright © 2011-2022 走看看