应用实体类EntitySet实现类似的范型功能.docVIP

  • 6
  • 0
  • 约2.29千字
  • 约 3页
  • 2015-09-26 发布于重庆
  • 举报

应用实体类EntitySet实现类似的范型功能.doc

应用实体类EntitySet实现类似的范型功能

在制做项目时我们都会将数据库中的字段名写成一个类,也就是将数据库中的每一张表写成一个类,我们将它称为实体类.EntitySet类能构将类的很多个实例对象封装在Entities属性中,同时可以记录查询记录的总数,对数据库分页很有用;拥有类是List范型功能,应用于所有实体类,能减少我们很多代码. ????? 通常我们要为一个实体类定义四个重要的函数,当然这是最少的要求:(假设我们有一个实体类EntitySimple)?下面我们就定义四个和数据库相关联的函数: ????? ?1using?System; ?2using?System.Data; ?3using?System.Data.SqlClient; ?4//其中EntitySimple类位于下面的命名空间中. ?5using?NexPlus.Entities; ?6 ?7namespace?NexPlus.Data.SqlDataProvider{ ?8??public?class?SimpleDataProvider{ ?9???? 10???public?SimpleDataProvider(){} 11 12???public?bool?CreateUpdateEntitySimple(EntitySimple?entitySimple,DataAction?action){ 13????//代码. 14???} 15 16???public?EntitySimple?GetEntitySimple(int?id){ 17????//代码. 18???} 19 20???public?bool?DeleteEntitySimple(int?id){ 21????//代码. 22???} 23 24???public?EntitySet?GetAllEntitySimple(){ 25????//代码. 26???}? 27??} 28} ?????? 从上面可以很容易看到就是SQL的四大守护神:SELECT,UPDATE,DELETE,INSERT;一般创建和更新就差一个Id,都是用实体类封装实例,所以我们把他们写作同一个函数里,用枚举(DataAction?action)来区分创建还是更新.今天我们要讨论的就是EntitySet类,我们来看一下它的代码: ?1using?System; ?2using?System.Collections; ?3 ?4namespace?NexPlus.Entities ?5{ ?6????public?class?EntitySet ?7????{ ?8????????ArrayList?entities?=?new?ArrayList(); ?9????????int?totalRecords?=?0; 10????????/**////?summary 11????????///?实体总纪录数。 12????????///?/summary 13????????public?int?TotalRecords{ 14????????????get{return?totalRecords;} 15????????????set{totalRecords?=?value;} 16????????} 17????????/**////?summary 18????????///?实体项列表。 19????????///?/summary 20????????public?ArrayList?Entities{ 21????????????get{return?entities;} 22????????} 23????????/**////?summary 24????????///?实体中是否有项。 25????????///?/summary 26????????public?bool?HasResults{ 27????????????get{ 28????????????????if?(entities.Count??0) 29????????????????????return?true; 30????????????????return?false; 31????????????} 32????????} 33????} 34} ???? EntitySet其实就是一个ArrayList的变形版,有了这个类在读取是就可以将对象entitySimple给Add进去了,当我们要用的时候就可以直接调用了:EntitySet set=SimpleManager.GetAllEntitySimple().Entities;如果直接使用SimpleManager.GetAllEntitySimple().Entities前显式转化

文档评论(0)

1亿VIP精品文档

相关文档