今天为DataEntrance静态类又增加了几个方法,这些方法进一步简化了对数据库的命令式访问。新增加的方法签名如下:
现在,我们来举个将一个Customer插入数据库的例子,看看有哪些方法,以及这些方法的繁简程度。假设已经存在了一个Customer实例:
(1)方法一:
(2)方法二:
(3)方法三:
(4)方法四:
最简单的当然是第四种了,强烈建议不要使用第一种方式,理由在前面的blog中已经说明了。
XCodeFactory学习目录
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移除。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) ;
现在,我们来举个将一个Customer插入数据库的例子,看看有哪些方法,以及这些方法的繁简程度。假设已经存在了一个Customer实例:
Customer cum = new Customer() ;
//为Customer成员赋值
//为Customer成员赋值
(1)方法一:
string connStr = ;
IDBAccesser dbAccesser = new CustomerSqlDealer() ;
dbAccesser.Insert(cum ,null) ;
IDBAccesser dbAccesser = new CustomerSqlDealer() ;
dbAccesser.Insert(cum ,null) ;
(2)方法二:
IDBAccesser dbAccesser = DataEntrance.CreateDBAccesser(typeof(Customer)) ;
dbAccesser.Insert(cum ,null) ;
dbAccesser.Insert(cum ,null) ;
(3)方法三:
DataEntrance.Insert(typeof(Customer) ,cum ,null) ;
(4)方法四:
DataEntrance.Insert(cum ,null) ;
最简单的当然是第四种了,强烈建议不要使用第一种方式,理由在前面的blog中已经说明了。
XCodeFactory学习目录