public class DataTableUtils { #region DataTable转列表 /// <summary> /// DataTable转列表 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="table"></param> /// <returns></returns> public static List<T> GetEntityList<T>(DataTable table) where T : class, new() { List<T> entities = new List<T>(); foreach (DataRow row in table.Rows) { T entity = new T(); foreach (var item in entity.GetType().GetProperties()) { if (row.Table.Columns.Contains(item.Name) && DBNull.Value != row[item.Name]) { Type conversionType = item.PropertyType; if (conversionType.IsGenericType) { NullableConverter nullableConverter = new NullableConverter(conversionType); conversionType = nullableConverter.UnderlyingType; } item.SetValue(entity, Convert.ChangeType(row[item.Name], conversionType), null); } } entities.Add(entity); } return entities; } #endregion }