C# 中DataTable转成模型List
2016-05-10 18:00
363 查看
C# 中DataTable转成模型List
引入using System.Reflection; 命名空间
使用注意实体类的属性名必须和DataTable的列名一致
使用:
模型:
代码:
引入using System.Reflection; 命名空间
使用注意实体类的属性名必须和DataTable的列名一致
使用:
DBList<StorageReport> dblist = new DBList<StorageReport>(dt);
模型:
public class StorageReport { public string pqty { get; set; } public string dqty { get; set; } public string sqty { get; set; } }
代码:
public class DBList<T>:List<T> where T:new() { public DBList(DataTable dt) { foreach (T value in getItemValue<T>(dt)) { this.Add(value); } } private List<T> getItemValue<T>(DataTable dt) where T : new() { List<T> items = new List<T>(); T model = new T(); //取出所有属性字段 PropertyInfo[] propertys = model.GetType().GetProperties(); foreach (DataRow dr in dt.Rows) { T item = new T(); foreach (PropertyInfo pinfo in propertys) { string value = dt.Columns.Contains(pinfo.Name) ? dr[pinfo.Name].ToString() : ""; pinfo.SetValue(item, value, null); } items.Add(item); } return items; } }
相关文章推荐
- C# 异常处理机制
- C#剪切,复制,粘贴底层应用编写
- C#的泛型约束-
- c#根据绝对路径获取 带后缀文件名、后缀名、文件名
- C#中的序列化和反序列化是什么、有什么作用、使用方法详解
- C#的最实用的的字符串加密解密方法大全
- C#使用反射机制获取类信息[转]
- C#中的EXCEL的查找操作
- C#——窗体实验
- C#中通过反射获取类中非公有成员
- windows server2008 64位 word 2007 C#生成word文档 提示:拒绝访问
- Windows系统上的.Net版本和.NETFramework的C#版本
- [C#]线程处理
- C# 之 判断或设置以管理员身份运行程序
- C# 复制PDF页面到另一个PDF文档
- C# 复制PDF页面到另一个PDF文档
- C# 的命名空间
- C#中winform使用相对路径读取文件的方法
- C# + WinForm + EmguCV 学习一:初步显示图像;
- C#学习笔记之Hashtable集合