1 public static List<T> Convert2Object<T>(DataTable dt) where T : new()
2 {
3 List<T> list = new List<T>();
4 foreach (DataRow dr in dt.Rows)
5 {
6 list.Add(ToEntity<T>(dr));
7 }
8 return list;
9 }
10
11 public static T ToEntity<T>(DataRow dr) where T : new()
12 {
13 T model = new T();
14 foreach (PropertyInfo pInfo in model.GetType().GetProperties())
15 {
16 object val = GetValueByColumnName(dr, pInfo.Name);
17 pInfo.SetValue(model, val, null);
18 }
19 return model;
20 }
21
22 private static object GetValueByColumnName(System.Data.DataRow dr, string columnName)
23 {
24 if (dr.Table.Columns.IndexOf(columnName) >= 0)
25 {
26 if (dr[columnName] == DBNull.Value)
27 return null;
28 return dr[columnName];
29 }
30 return null;
31 }