datatable转list(linq方法)
public class UtilityBase
{
public static List<T> ToList<T>(DataTable dt)
{
var columnsName = dt.Columns.Cast<DataColumn>()
.Select(d => d.ColumnName).ToList();
var properties = typeof(T).GetProperties();
return dt.AsEnumerable().Select(r =>
{
var objT = Activator.CreateInstance<T>();
foreach (var pro in properties)
{
if (columnsName.Contains(pro.Name))
{
pro.SetValue(objT,r[pro.Name]);
}
}
return objT;
).ToList();
}
}

浙公网安备 33010602011771号