当前位置: 首页 > article >正文

c# DataTable 帮助类

public class DataTableHelper
    {
        #region DataTable转IList

        /// <summary>
        /// DataTable转IList集合
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dataTable"></param>
        /// <returns></returns>
        public static IList<T> ToList<T>(DataTable dataTable) where T : class, new()
        {
            IList<T> list = new List<T>();// 定义集合
            if (dataTable != null)
            {
                foreach (DataRow dr in dataTable.Rows)
                {
                    T t = new T();
                    PropertyInfo[] propertys = t.GetType().GetProperties();// 获得此模型的公共属性
                    foreach (PropertyInfo pi in propertys)
                    {
                        var name = pi.Name;
                        if (dataTable.Columns.Contains(name))
                        {
                            if (!pi.CanWrite) continue;
                            object value = dr[name];
                            if (value != DBNull.Value)
                            {
                                pi.SetValue(t, value, null);
                            }
                        }
                    }
                    list.Add(t);
                }
            }
            return list;
        }
        #endregion
    }


http://www.kler.cn/news/232957.html

相关文章:

  • 无人机在化工消防救援中的应用,消防无人机应用场景分析
  • 洛谷使用指南
  • 【GameFramework框架】四、GameFramework框架内置模块
  • 第6章 智能租房——前期准备
  • windows10安装配置nvm以达到切换nodejs的目的
  • vscode 无法远程连接waiting the server log
  • [leetcode] 32. 最长有效括号
  • 【Git】Windows下通过Docker安装GitLab
  • 计算机自顶向下 Wireshark labs——DNS
  • Arcgis使用过程中常见问题解决方法
  • ArcGIS学习(六)地理数据库
  • 恒创科技:怎么看云主机的性价比
  • rust语言tokio库底层原理解析
  • Linux查询指令
  • PneumoLLM:少样本大模型诊断尘肺病新方法
  • Android 13.0 系统framework修改低电量关机值为3%
  • Python HttpServer 之 简单快速搭建本地服务器,并且使用 requests 测试访问下载服务器文件
  • 医学图像隐私保护
  • OCP使用CLI创建和构建应用
  • vue3 之 商城项目—登陆
  • 政安晨:示例演绎TensorFlow的官方指南(三){快速使用数据可视化工具TensorBoard}
  • JSP编程
  • MySQL ——group by子句使用with rollup
  • npm 下载报错
  • 利用LLM大模型生成sql的深入应用探究
  • nvm安装node后,npm无效
  • “Hopf Oscillator-Based Gait Transition for A Quadruped Robot“代码复现
  • 春节:当代发展及创新传承
  • 揭开Markdown的秘籍:标题|文字样式|列表
  • c#cad 创建-圆(二)