C# DataTable 转换为 实体类对象实例

时间:2021-12-25 02:14:51 


public class User
{
        public int ID { get; set; }
        public string Name { get; set; }
}

//对应数据库表:
//User
//字段:ID、Name    


那么你也许需要编写将DataTable 转换为实体对象的方法,便利DataTable.Rows 获得并填充。。

下面是我写的一个通用方法,分享+记录,便于日后直接Copy ~


private static List<T> TableToEntity<T>(DataTable dt) where T : class,new()
{
    Type type = typeof(T);
    List<T> list = new List<T>();

    foreach (DataRow row in dt.Rows)
    {
        PropertyInfo[] pArray = type.GetProperties();
        T entity = new T();
        foreach (PropertyInfo p in pArray)
        {
            if (row[p.Name] is Int64)
            {
                p.SetValue(entity, Convert.ToInt32(row[p.Name]), null);
                continue;
            }
            p.SetValue(entity, row[p.Name], null);
        }
        list.Add(entity);
    }
    return list;
}

// 调用:

List<User> userList = TableToEntity<User>(YourDataTable);


标签:DataTable,实体类
0
投稿

猜你喜欢

  • 基于Java中的数值和集合详解

    2023-11-25 08:12:13
  • Android10 分区存储的适配规则

    2022-11-25 12:22:53
  • java线程之用Thread类创建线程的方法

    2023-02-09 18:35:07
  • java开发中遇到的异常汇总详解

    2023-03-21 02:54:15
  • 深入浅析TomCat Session管理分析

    2022-12-16 02:44:16
  • Servlet 过滤器详细介绍

    2021-10-21 13:51:57
  • Android 代码一键实现银行卡绑定功能

    2023-06-03 13:37:55
  • Java通俗易懂系列设计模式之装饰模式

    2023-08-07 15:41:28
  • c#实现断点续传功能示例分享

    2022-05-03 04:39:49
  • Flutter Animation实现缩放和滑动动画效果

    2021-09-02 10:33:12
  • WPF中鼠标/键盘/拖拽事件以及用行为封装事件详解

    2021-05-24 00:22:38
  • ubuntu环境下反编译android apk的方法

    2022-08-09 13:41:41
  • 解决@Cacheable在同一个类中方法调用不起作用的问题

    2022-02-19 01:46:54
  • WinForm中comboBox控件数据绑定实现方法

    2023-04-23 07:37:28
  • c#定时器和global实现自动job示例

    2023-10-04 22:30:29
  • java实现冒泡排序算法

    2023-10-17 20:44:01
  • SpringBoot自动装配原理小结

    2023-11-18 16:54:06
  • Java Base64 加密与解密示例代码

    2022-11-13 15:11:56
  • Java实现动态数字时钟

    2022-05-07 08:56:56
  • Springboot整合pagehelper分页功能

    2021-12-14 15:53:48
  • asp之家 软件编程 m.aspxhome.com