zoukankan      html  css  js  c++  java
  • C#把 DataTable转换为Model实体

        public static List<T> GetModelFromDB<T>( DataTable dt )
            {
                List<T> data = new List<T>();
                foreach (DataRow row in dt.Rows)
                {
                    T item = GetItem<T>(row);
                    data.Add(item);
                }
                return data;
            }
    
            /// <summary>
            /// 将DataRow转换成实体对象
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="dr"></param>
            /// <returns></returns>
            private static T GetItem<T>(DataRow dr)
            {
                try
                {
                    Type temp = typeof(T);
                    T obj = Activator.CreateInstance<T>();
                    foreach (DataColumn column in dr.Table.Columns)
                    {
                        foreach (PropertyInfo pro in temp.GetProperties())
                        {
                            if (pro.Name.ToLower() == column.ColumnName.ToLower())
                            {
                                if (dr[column.ColumnName] == DBNull.Value)
                                {
                                    pro.SetValue(obj, " ", null);
                                    break;
                                }
                                else
                                {
                                    pro.SetValue(obj, dr[column.ColumnName], null);
                                    break;
                                }
                            }
                        }
                    }
                    return obj;
                }
               catch(Exception ex)
                {
                  throw new Exception(ex.Message)
                }
            }
    
  • 相关阅读:
    sys模块
    os模块
    datetime模块
    time模块

    random模块
    python文件两种用途
    模块的搜索路径
    如何修改cnblogs的文本编辑器
    socket状态
  • 原文地址:https://www.cnblogs.com/kzwrcom/p/6062896.html
Copyright © 2011-2022 走看看