-
DataTable转成实体列表 和 DataRow转成实体类
1 #region DataTale转为实体列表
2 /// <summary>
3 /// DataTale转为实体列表
4 /// </summary>
5 /// <typeparam name="T">实体类类型</typeparam>
6 /// <param name="table">DataTable</param>
7 /// <returns>List<T></returns>
8 public List<T> DataTableToModelList<T>(DataTable table)
9 {
10 List<T> list = new List<T>();
11 T t = default(T);
12 PropertyInfo[] propertypes = null;
13 string tempName = string.Empty;
14 foreach (DataRow row in table.Rows)
15 {
16 t = Activator.CreateInstance<T>();
17 propertypes = t.GetType().GetProperties();
18 foreach (PropertyInfo pro in propertypes)
19 {
20 tempName = pro.Name;
21 if (table.Columns.Contains(tempName))
22 {
23 object value = row[tempName];
24 if (value.GetType() == typeof(System.DBNull))
25 {
26 value = null;
27 }
28 pro.SetValue(t, value, null);
29 }
30 }
31 list.Add(t);
32 }
33 return list;
34 }
35 #endregion
36
37 #region DataRow转为实体类
38 /// <summary>
39 /// DataRow转为实体类
40 /// </summary>
41 /// <typeparam name="T">实体类类型</typeparam>
42 /// <param name="row">DataRow</param>
43 /// <returns>T</returns>
44 public T DataRowToModel<T>(DataRow row)
45 {
46
47 T t = default(T);
48 PropertyInfo[] propertypes = null;
49 string tempName = string.Empty;
50 t = Activator.CreateInstance<T>();
51 propertypes = t.GetType().GetProperties();
52 foreach (PropertyInfo pro in propertypes)
53 {
54 tempName = pro.Name;
55 if (row.Table.Columns.Contains(tempName))
56 {
57 object value = row[tempName];
58 if (value.GetType() == typeof(System.DBNull))
59 {
60 value = null;
61 }
62 pro.SetValue(t, value, null);
63 }
64 }
65 return t;
66 }
67 #endregion
2 /// <summary>
3 /// DataTale转为实体列表
4 /// </summary>
5 /// <typeparam name="T">实体类类型</typeparam>
6 /// <param name="table">DataTable</param>
7 /// <returns>List<T></returns>
8 public List<T> DataTableToModelList<T>(DataTable table)
9 {
10 List<T> list = new List<T>();
11 T t = default(T);
12 PropertyInfo[] propertypes = null;
13 string tempName = string.Empty;
14 foreach (DataRow row in table.Rows)
15 {
16 t = Activator.CreateInstance<T>();
17 propertypes = t.GetType().GetProperties();
18 foreach (PropertyInfo pro in propertypes)
19 {
20 tempName = pro.Name;
21 if (table.Columns.Contains(tempName))
22 {
23 object value = row[tempName];
24 if (value.GetType() == typeof(System.DBNull))
25 {
26 value = null;
27 }
28 pro.SetValue(t, value, null);
29 }
30 }
31 list.Add(t);
32 }
33 return list;
34 }
35 #endregion
36
37 #region DataRow转为实体类
38 /// <summary>
39 /// DataRow转为实体类
40 /// </summary>
41 /// <typeparam name="T">实体类类型</typeparam>
42 /// <param name="row">DataRow</param>
43 /// <returns>T</returns>
44 public T DataRowToModel<T>(DataRow row)
45 {
46
47 T t = default(T);
48 PropertyInfo[] propertypes = null;
49 string tempName = string.Empty;
50 t = Activator.CreateInstance<T>();
51 propertypes = t.GetType().GetProperties();
52 foreach (PropertyInfo pro in propertypes)
53 {
54 tempName = pro.Name;
55 if (row.Table.Columns.Contains(tempName))
56 {
57 object value = row[tempName];
58 if (value.GetType() == typeof(System.DBNull))
59 {
60 value = null;
61 }
62 pro.SetValue(t, value, null);
63 }
64 }
65 return t;
66 }
67 #endregion
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式