欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#中DataTable转换为实体类

程序员文章站 2022-06-15 09:46:53
...

DataTable向实体类的转换

在C#中,我们从数据库中获取到的数据一般是已DataTable的形式返回的,但是有时为了写某一个具体的功能的时候封装了一些实体类,这时候我们该怎么讲DataTable里边的数据赋值给这个实体类呢?创建实体类对象然后循环赋值?No,No,No,这就可以用到我写的这个方法,快速的将DataTable转换成实体类。

这是实现的方法

 public static DataTable ListToTable<T>(List<T> list)
        {
            DataTable table = new DataTable();
            PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
            //添加列及列名
            foreach (PropertyInfo prop in Props)
            {
                table.Columns.Add(prop.Name);
            }
            //添加行
            foreach (T obj in list)
            {
                var values = new object[Props.Length];
                for (int i = 0; i < Props.Length; i++)
                {
                    values[i] = Props[i].GetValue(obj, null);
                }
                table.Rows.Add(values);
            }
            return table;
        }
相关标签: c#