public class ModelConvertHelper<T> where T : new()
{ public static IList<T> ConvertToModel(DataTable dt) { // Collection definition IList<T> ts = new List<T>();// Get model type
Type type = typeof(T);string tempName = "";
foreach (DataRow dr in dt.Rows)
{ T t = new T();// Get property of model
PropertyInfo[] propertys = t.GetType().GetProperties();foreach (PropertyInfo pi in propertys)
{ tempName = pi.Name;// check column is exsit
if (dt.Columns.Contains(tempName)) { // Whether can be set value if (!pi.CanWrite) continue;object value = dr[tempName];
if (value != DBNull.Value) pi.SetValue(t, value, null); } }ts.Add(t);
}return ts;
} }