Convert DataTable to List

后端 未结 14 1796
挽巷
挽巷 2020-12-04 12:09

I have an strongly typed DataTable of type MyType, I\'d like convert it in a List.

How can I do this ?

Thanks.

14条回答
  •  醉梦人生
    2020-12-04 12:56

    please try this code:

    public List ConvertToList(DataTable dt)
    {
        var columnNames = dt.Columns.Cast()
            .Select(c => c.ColumnName)
            .ToList();
        var properties = typeof(T).GetProperties();
        return dt.AsEnumerable().Select(row =>
        {
            var objT = Activator.CreateInstance();
            foreach (var pro in properties)
            {
                if (columnNames.Contains(pro.Name))
                    pro.SetValue(objT, row[pro.Name]);
            }
            return objT;
        }).ToList();
    }
    

提交回复
热议问题