DataTable to List<实体>

简介: 1.公共方法 1 #region dataConvert 2 /// 3 /// 从数据行返回数据实体对象 4 /// 5 /// 数据实体类型 6 /// 数据行 7 ...

1.公共方法

 1 #region dataConvert
 2         /// <summary>
 3         /// 从数据行返回数据实体对象
 4         /// </summary>
 5         /// <typeparam name="T">数据实体类型</typeparam>
 6         /// <param name="row">数据行</param>
 7         /// <returns>数据实体对象</returns>
 8         public static T GetModel<T>(DataRow row) where T : class, new()
 9         {
10             if (row == null) return null;
11 
12             T result = new T();
13 
14             Type type = typeof(T);
15 
16             System.Reflection.PropertyInfo[] ps = type.GetProperties();
17 
18             foreach (System.Reflection.PropertyInfo p in ps)
19             {
20                 if (row.Table.Columns.Contains(p.Name))
21                 {
22                     object value = row[p.Name];
23 
24                     if (!(value is DBNull))
25                     {
26                         try
27                         {
28                             p.SetValue(result, value, null);
29                         }
30                         catch
31                         {
32 
33                         }
34                     }
35                 }
36             }
37 
38             return result;
39         }
40         /// <summary>
41         /// 从数据表返回数据实体列表对象
42         /// </summary>
43         /// <typeparam name="T">数据实体类型</typeparam>
44         /// <param name="dt">数据表</param>
45         /// <returns>数据实体列表对象</returns>
46         public static List<T> GetModelList<T>(DataTable dt) where T : class, new()
47         {
48             List<T> list = new List<T>();
49             foreach (DataRow row in dt.Rows)
50             {
51                 list.Add(GetModel<T>(row));
52             }
53             return list;
54         }
55 
56         /// <summary>
57         /// 从数据行集合返回数据实体列表对象
58         /// </summary>
59         /// <typeparam name="T">数据实体类型</typeparam>
60         /// <param name="rows">数据行集合</param>
61         /// <returns>数据实体列表对象</returns>
62         public static List<T> GetModelList<T>(IEnumerable<DataRow> rows) where T : class, new()
63         {
64             List<T> list = new List<T>();
65             foreach (DataRow row in rows)
66             {
67                 list.Add(GetModel<T>(row));
68             }
69             return list;
70         }
71         #endregion
View Code

2.调用

1 SYSUser sysUser = Session["SYSUser"] as SYSUser;
2                 DataSet ds = T_SYS_ManageUsersBll.Instance.GetSysMenu(sysUser.LoginName);
3                 List<T_TMP_SysMenu> menulist1 = DataUtil.GetModelList<T_TMP_SysMenu>(ds.Tables[0]);
View Code

 

目录
相关文章
|
1月前
list如何将自己实体的字段值赋给另外一个List实体中的相同字段
list如何将自己实体的字段值赋给另外一个List实体中的相同字段
14 0
|
11月前
|
数据库
dataTable转list
dataTable转list
80 0
|
JSON API 数据格式
把DataTable转换为泛型List<T>或是JSON
原文:把DataTable转换为泛型List或是JSON 在开发ASP.NET Web API或ASP.NET MVC时,我们从数据库得到的数据往往是DataSet或是DataTable。为了能让前端JQuery能方便使用至这些数据,我们需要把这些数据转换为泛型List或是JSON。
1206 0
|
.NET 开发框架
asp.net中DataTable和List&lt;T&gt;之间相互转换
在asp.net开发中常会遇到这样的问题,这里跟大家分享一个其之间相互转换的方法: using System; using System.
946 0
|
SQL Java 数据库连接
Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
 package com.ucap.netcheck.dao.impl; import java.util.ArrayList;import java.util.List; import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.spring
1197 0
|
C#
C# DataTable 转 List(大家进来讨论讨论)
C# DataTable 转 List 方法,网上有好多,之前也收集了,感觉这个也不错,重要是自己要领会这里面的代码含义。 接不来我就把代码贴出来分享一下,大家觉得如果不好,请留言我,我来改进。
814 0
|
C# 存储
C# DataTable 转换成List<T>
运用泛型和反射实现的转换,很给力。代码中掺杂详尽注释,稍微了解一下泛型和反射便可以了解转换的实质。可以直接复制粘贴进行调用哦。public class DtConverToList where T : new() {     public static List DtToList(DataTab...
1087 0
关于DataTable与IList和List泛型集合的相互转换在网上总结
我在做amchart的还有微软相关的chart控件时发现绑定使用Datatabale不能绑定 但是支持DataSet 和泛型集合;于是谢谢网上好友的帮助;自己做了下总结 自己弄了一些集合转化的文章; 对于技术方面的理论我不需多言; 主要是是通过映射命名空间;使用Linq的相关查询;和Type类...
1120 0
|
SQL 数据库
DataTable,List去重复记录的方法
今天一位朋友问如何去掉DataTable里重复的记录(DataTable是别人返回过来的,不能再重新查询数据库,所以无法用sql中的select distinct xxx处理,只能在DataTable上动脑筋)  思路:将DataTable转成IEnumerable,然后就能调用Distinct方法了 by 菩提树下的杨过 http://yjmyzz.
734 0