• (转)DATATABLE(DATASET)与实体类之间的互转.


    转自:http://www.cnblogs.com/zzyyll2/archive/2010/07/20/1781649.html

    dataset和实体类 之间的转换

    //dataset转实体类 

    复制代码
    代码
    public static IList<T> FillModel(DataSet ds) 

    List
    <T> l = new List<T>(); 
    T model 
    = default(T);

    if (ds.Tables[0].Columns[0].ColumnName == "rowId"

    ds.Tables[
    0].Columns.Remove("rowId"); 
    }

     

    foreach (DataRow dr in ds.Tables[0].Rows) 
    {


    model 
    = Activator.CreateInstance<T>();

    foreach (DataColumn dc in dr.Table.Columns) 
    {

    PropertyInfo pi 
    = model.GetType().GetProperty(dc.ColumnName); 
    if (dr[dc.ColumnName] != DBNull.Value) 
    pi.SetValue(model, dr[dc.ColumnName], 
    null); 
    else 
    pi.SetValue(model, 
    nullnull);


    l.Add(model); 
    }

    return l;


    }

    复制代码

    将实体类转换成DataTable

    复制代码
    代码


    /// <summary> 
    /// 将实体类转换成DataTable 
    /// </summary> 
    /// <typeparam name="T"></typeparam> 
    /// <param name="i_objlist"></param> 
    /// <returns></returns> 
    public static DataTable Fill<T>(IList<T> objlist) 

    if (objlist == null || objlist.Count <= 0

    return null

    DataTable dt 
    = new DataTable(typeof(T).Name); 
    DataColumn column; 
    DataRow row;

    System.Reflection.PropertyInfo[] myPropertyInfo 
    = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);

    foreach (T t in objlist) 

    if (t == null

    continue
    }

    row 
    = dt.NewRow();

    for (int i = 0, j = myPropertyInfo.Length; i < j; i++

    System.Reflection.PropertyInfo pi 
    = myPropertyInfo[i];

    string name = pi.Name;

    if (dt.Columns[name] == null

    column 
    = new DataColumn(name, pi.PropertyType); 
    dt.Columns.Add(column); 
    }

    row[name] 
    = pi.GetValue(t, null); 
    }

    dt.Rows.Add(row); 

    return dt; 
    }
    复制代码
  • 相关阅读:
    CentOS 7 安装Python pip
    关于 HIVE Beeline 问题
    HIVE 简单总结
    值得一提:关于 HDFS 的 file size 和 block size
    Hadoop作业优化
    一篇文章,掌握所有开源数据库的现状
    dfs.replication 参数 动态修改
    Hadoop YARN ERROR 1/1 local-dirs are bad *, 1/1 log-dirs are bad *
    Hadoop 中关于 map,reduce 数量设置
    CentOS ulimit
  • 原文地址:https://www.cnblogs.com/wdw31210/p/3359432.html
Copyright © 2020-2023  润新知