C# DataTable 转实体集合 List<T>
1 public class ModelConvertHelper<T> where T : new() // 此处一定要加上new() 2 { 3 4 public static IList<T> ConvertToModel(DataTable dt) 5 { 6 7 IList<T> ts = new List<T>();// 定义集合 8 Type type = typeof(T); // 获得此模型的类型 9 string tempName = ""; 10 foreach (DataRow dr in dt.Rows) 11 { 12 T t = new T(); 13 System.Reflection.PropertyInfo[] propertys = t.GetType().GetProperties();// 获得此模型的公共属性 14 foreach (System.Reflection.PropertyInfo pi in propertys) 15 { 16 tempName = pi.Name; 17 if (dt.Columns.Contains(tempName)) 18 { 19 if (!pi.CanWrite) continue; 20 object value = dr[tempName]; 21 if (value != DBNull.Value) 22 pi.SetValue(t, value, null); 23 } 24 } 25 ts.Add(t); 26 } 27 return ts; 28 } 29 }