zoukankan      html  css  js  c++  java
  • 用DataTable填充实体类List

            /// <summary> 
            /// 用DataTable填充实体类List
            /// </summary> 
            public static List<T> FillListModel<T>(DataTable dt)
            where T : new()
            {
                if (dt == null || dt.Rows.Count == 0)
                {
                    return null;
                }
                List<T> modelList = new List<T>();
                foreach (DataRow dr in dt.Rows)
                {
                    //T model = (T)Activator.CreateInstance(typeof(T)); 
                    T model = new T();
                    for (int i = 0; i < dr.Table.Columns.Count; i++)
                    {
                        PropertyInfo propertyInfo = model.GetType().GetProperty(dr.Table.Columns[i].ColumnName);
                        if (propertyInfo != null && dr[i] != DBNull.Value)
                            propertyInfo.SetValue(model, dr[i], null);
                    }
    
                    modelList.Add(model);
                }
                return modelList;
            }
    
            /// <summary> 
            /// 用DataTable填充实体类取DataTable中的第一条数据
            /// </summary> 
            public static T FillModel<T>(DataTable dt)
            where T : new()
            {
                if (dt == null || dt.Rows.Count == 0)
                {
                    return default(T);
                }
                DataRow dr = dt.Rows[0];
                //T model = (T)Activator.CreateInstance(typeof(T)); 
                T model = new T();
                for (int i = 0; i < dr.Table.Columns.Count; i++)
                {
                    PropertyInfo propertyInfo = model.GetType().GetProperty(dr.Table.Columns[i].ColumnName);
                    if (propertyInfo != null && dr[i] != DBNull.Value)
                        propertyInfo.SetValue(model, dr[i], null);
                }
    
    
                return model;
            }
  • 相关阅读:
    WordPress伪静态配置
    微信支付后默认关注公众号
    微信公众号中点击A标签嵌套的img
    全站变灰
    人人商城团队初始化
    Map-T
    处理Hbuilder H5页面打包APP 返回直接退出的问题
    ES6:搭建前端环境
    ES6:简介
    jQuery: 案例
  • 原文地址:https://www.cnblogs.com/qq1223558/p/3401000.html
Copyright © 2011-2022 走看看