首页 > 编程 > .NET > 正文

实战 .Net 数据访问层 - 21

2024-07-10 13:05:11
字体:
来源:转载
供稿:网友
(2) entityconvert

这个东东是模仿system.convert的产物,刚开始没觉得咋样,用起来还真有点舍不得呢(本文开头的代码1中曾经使用过这个utility)!

不信,且看如下代码(仅举两例j):



代码16:我变,我变,我变变变!

public static class entityconvert

{

public static ilist tolist(dbdatareader rdr, type entity)

{

arraylist list = new arraylist();

using (rdr)

{

while (rdr.read())

{

object obj = toobject(rdr, entity, false);

if (obj != null)

list.add(obj);

}

}

return list;

}



public static object toobject(dbdatareader rdr,

type entity, bool bneedread)

{

object obj = null;

if (!bneedread || rdr.read())

{

// 创建data entity对象

obj = activator.createinstance(entity);



// 设置data entity对象之字段数据

fieldinfo[] fields = entity.getfields(

bindingflags.instance | bindingflags.public);



foreach (fieldinfo field in fields)

{

string fieldname = field.name;

object fieldvalue = rdr[fieldname];



if (fieldvalue == system.dbnull.value)

field.setvalue(obj, null);

else

field.setvalue(obj, fieldvalue);

}



if (bneedread && !rdr.read())

rdr.close();

}

return obj;

}

}



















































































































































下一段:http://www.csdn.net/develop/read_article.asp?id=27566
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表