XCodeFactory

C#编程爱好者
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

XCodeFactory 数据访问,再进一步简化!

Posted on 2005-12-28 15:28  C#编程爱好者  阅读(711)  评论(0编辑  收藏  举报
    今天为DataEntrance静态类又增加了几个方法,这些方法进一步简化了对数据库的命令式访问。新增加的方法签名如下:
        public static void Insert(object obj ,IDbTransaction trans) ;        

        
public static object InsertReturnIdentity(object obj ,IDbTransaction trans ) ;
        
        
public static void InsertBatch(ArrayList objs ,IDbTransaction trans) ;        

        
public static void InsertBatch(object[] objs ,IDbTransaction trans) ;        

        
public static void Update(object obj ,IDbTransaction trans) ;     
    与同名的方法相比,这些方法少了一个“Type objType”参数,而实际上这个参数可以通过obj进行反射查询得到,所以新增加的方法省略了这个参数,为了与以前版本兼容,对于旧的同名的方法,并没有从DataEntrance移除。

    现在,我们来举个将一个Customer插入数据库的例子,看看有哪些方法,以及这些方法的繁简程度。假设已经存在了一个Customer实例:
            Customer cum = new Customer() ;
            
//为Customer成员赋值

(1)方法一:
            string connStr =  ;
            IDBAccesser dbAccesser 
= new CustomerSqlDealer() ;
            dbAccesser.Insert(cum ,
null) ;

(2)方法二:
            IDBAccesser dbAccesser = DataEntrance.CreateDBAccesser(typeof(Customer)) ;
            dbAccesser.Insert(cum ,
null) ;

(3)方法三:
          DataEntrance.Insert(typeof(Customer) ,cum ,null) ;

(4)方法四:
            DataEntrance.Insert(cum ,null) ;

    最简单的当然是第四种了,强烈建议不要使用第一种方式,理由在前面的blog中已经说明了。

    XCodeFactory学习目录