项目开发中,经常会获取到DataTable对象,如何把它转化成一个List对象呢?前几天就碰到这个问题,网上搜索整理了一个万能类,用了泛型和反射的知识。共享如下:

public class ModelConvertHelper<T> where T : new()  // 此处一定要加上new()
    {public static IList<T> ConvertToModel(DataTable dt){IList<T> ts = new List<T>();// 定义集合Type type = typeof(T); // 获得此模型的类型string tempName = "";foreach (DataRow dr in dt.Rows){T t = new T(); PropertyInfo[] propertys = t.GetType().GetProperties();// 获得此模型的公共属性foreach (PropertyInfo pi in propertys){tempName = pi.Name;if (dt.Columns.Contains(tempName)){if (!pi.CanWrite) continue;object value = dr[tempName];if (value != DBNull.Value)pi.SetValue(t, value, null);}}ts.Add(t);}return ts;}}

DataTable转成List集合相关推荐

  1. DataTable转换成IList

    本文转载自http://blog.csdn.net/chentaihan/article/details/6407284 作者:陈太汉     在用C#作开发的时候经常要把DataTable转换成IL ...

  2. C#将DataTable转换成list的方法

    本文实例讲述了C#将DataTable转换成list及数据分页的方法.分享给大家供大家参考.具体如下: /// <summary> /// 酒店评论列表-分页 /// </summa ...

  3. list lt t gt java_将DataTable转换成Listlt;Tgt;实现思路及示例代码

    前几天在工作中,遇到一个问题:需要将查询出来的DataTable数据源,转换成List的泛型集合(已知T类型).第一反应,我想肯定要用到"泛型"(这不是废话吗?都说了要转换成Lis ...

  4. 简单的反射 把datatable 转换成list对象

    /// <summary>/// 把datatable 转换成list对象/// </summary>/// <typeparam name="T"& ...

  5. json对象(json-lib)转换成list-map集合

    虽然json-lib提供toBean方法,但是赶脚蛋疼,所以写了个转换,不需要配置类,直接转换成list-map(忽略了除JSONObject和JSONArray意外的处理,不过好像也没什么了):闲来 ...

  6. badatatable转成json_C# DataTable 转换成JSON数据 三种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数 ...

  7. C# 中DataTable转成模型List

    C# 中DataTable转成模型List 引入using System.Reflection; 命名空间 使用注意实体类的属性名必须和DataTable的列名一致 使用: DBList<Sto ...

  8. DataTable转成字符串复制到txt文本的小例子

    自己写了个DataTable转成字符串的方法 复制代码代码如下: public static string DataTableToString(DataTable dt) { string dtstr ...

  9. NET问答: 如何将 DataTable 转成 IEnumerableT ?

    咨询区 Roddy Balkan: 我想将一个外域系统中传过来的 DataTable 转成 IEnumerable,下面的代码在 ASP.NET 4.6.1 中是没有问题的. public stati ...

最新文章

  1. 物体检测中的Objectness是什么?
  2. 最古老的100个.com域名
  3. 统一处理jquery ajax请求过程中的异常错误信息的机制
  4. golomb哥伦布编码——本质上就是通过0来区分商和余数
  5. Percona Server for MySQL 5.5.30-30.2
  6. python购物车结算不了_Python——购物车问题
  7. 诗和远方:无题(五十)
  8. 【clickhouse】创建物化视图数据来源是两张表该怎么写创建语句呢?
  9. csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法
  10. 钓鱼网站 (搬运自common craft )
  11. 新游戏《真·方块无双》发布-穿越混世过险境,运筹方块化无双
  12. python迷宫地图代码_Python机器人探测迷宫代码求助
  13. ROS学习|Behavoir Tree(BT树)--c++实现
  14. 解决Outlook打不开邮件里的链接的方法
  15. 爆火的Java面试题-易语言线程池用法
  16. 解决 nginx 反向代理时的 upstream timeout 问题
  17. YOLO v2论文笔记
  18. 苹果移动设备密码破解
  19. 主机连接校园网,ubuntu虚拟机桥接模式上不了网
  20. uniapp 富文本编辑器

热门文章

  1. 《NoSQL权威指南》导读
  2. jdk自带常用命令行工具使用
  3. 敏捷需要重构吗?不需要吗?
  4. Linux下的用户和组
  5. 从如何优化SQL入手,提高数据仓库的ETL效率
  6. Oracle to_char() to_date() to_number()函数
  7. 【转载】ESFramewor使用技巧(2)-- 在插件中使用NHibernate
  8. 【视频】CCNA——telnet和SSH的配置
  9. 黑马C++设计模式1
  10. 通过api管理grafana