Jan 12

利用反射将DataReader转换为实体类

lee , 21:27 , 开发相关 » C#┋Vb.Net , 评论(1) , 引用(0) , 阅读(2767) , Via 本站原创 | |
每次DataReader里取得数据一个个赋给实体类着实麻烦
写了个方法,用反射牺牲点性能,图个方便了.性能可以用缓存弥补回来
public static object DataReaderToEntity(IDataReader dr, object entity)
{
    try
    {
        PropertyInfo[] pilist = entity.GetType().GetProperties();
        foreach (PropertyInfo pi in pilist)
        {
            for (int i = 0; i < dr.FieldCount; i++)
            {
                if (pi.Name.Equals(dr.GetName(i)))
                {
                    pi.SetValue(entity, Convert.ChangeType(dr[i], pi.PropertyType), null);
                }
            }
        }
        return entity;
    }
    catch
    {
        return null;
    }
}

用法:
Entity entity = (Entity)DataReaderToEntity(dr, new Entigy());
kk Email
2009/01/15 10:03
这是一条隐藏评论/留言。请输入密码查看:
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]