实体、实体集及其运用

原创 2014年11月07日 09:13:48
一、实体

实体

在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

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

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

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

实体集与属性

 实体是现实世界中可区别于其他对象的"事件"或"物体"。每个实体有一组性质,其中一部分性质的取值可以唯一地标识实体。实体可以是实实在在的,也可以是抽象的。例如,一个人是一个实体,一笔贷款也是一个实体。...
  • m57091003
  • m57091003
  • 2007年11月09日 18:34
  • 4068

实体以及实体型和实体集

实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来...
  • qq_15037231
  • qq_15037231
  • 2017年03月03日 20:20
  • 971

【软考】之强实体、弱实体

【软考】之强实体、弱实体   目录 一、基础概念 二、弱实体(weak entity) 三、问题思考 四、小结      在了解这个之前我们想想什么事实体,什么是实体集,实体有哪些关系? 一、基础...
  • u013067756
  • u013067756
  • 2015年10月11日 11:04
  • 5014

PowerDesigner如何表示弱实体集

在建立概念数据模型(CDM) 的时候遇到了不知如何表示弱实体集的问题。其实PowerDesigner中的ER图是通过在联系端使用三角符号的方式进行标示。 具体操作:打开你要设置的多对一关系,在Ca...
  • sinat_32539989
  • sinat_32539989
  • 2016年04月05日 09:25
  • 1857

数据库--ER模式详解

实体:现实中可区别与其他对象的事物。实体可以是任何实际或抽象的。实体集是相同类型的实体的集合。实体是实体集的外延。联系集是实体(非实体集)之间的联系。实体集参与联系集。并且特定的实体间的关联称为联系实...
  • xiazdong
  • xiazdong
  • 2011年04月02日 17:41
  • 4856

数据库习题二 作业完成者 王典2013211958

1、  简述数据模型的三要素。 答:(1)必须真实的模拟现实世界(2)易于被人们理解(3)便于在计算机上实现 6、现有某应用,涉及两个实体集,两实体间的联系及相关属性如下所述。请画出该应用的E-R图。...
  • wangnaid
  • wangnaid
  • 2015年03月20日 12:38
  • 447

Datatable和实体还有实体集List的区别与转化

实体,实体集,Datatable三者的比较,用好了,灵活性一定会得到很大的提高
  • lovemenghaibin
  • lovemenghaibin
  • 2014年08月16日 11:41
  • 1823

EF----实体框架集合

实体框架-数据持久框架:Entity FrameWork         程序通过{对象关系映射:ORM(object relational Mapping):创建了一个可在...
  • u010073895
  • u010073895
  • 2015年05月31日 20:56
  • 673

数据库:第二次作业

P24    1,6,7,8,9
  • a944531490
  • a944531490
  • 2015年03月26日 19:45
  • 330

数据库系统原理教程 第一章 绪论 习题解答

第一章 绪论     一、选择题 1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()。 A. 系统分析员    B. 程序员    C. ...
  • wwj_748
  • wwj_748
  • 2012年12月25日 10:59
  • 2950
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实体、实体集及其运用
举报原因:
原因补充:

(最多只允许输入30个字)