在开发ASP.NET Web API或ASP.NET MVC时,我们从数据库得到的数据往往是DataSet或是DataTable。为了能让前端JQuery能方便使用至这些数据,我们需要把这些数据转换为泛型List<T>或是JSON。

Insus.NET有把这个转换功能写成一个扩展方法:
把DataTable转换为泛型List<T>或是JSON

方法源代码:

 public static List<T> ToList<T>(this DataTable dt)
        {
            var columnNames = dt.Columns.Cast<DataColumn>()
                .Select(c => c.ColumnName)
                .ToList();

            var properties = typeof(T).GetProperties();

            return dt.AsEnumerable().Select(row =>
            {
                var objT = Activator.CreateInstance<T>();

                foreach (var pro in properties)
                {
                    if (columnNames.Contains(pro.Name))
                        pro.SetValue(objT, row[pro.Name] == DBNull.Value ? string.Empty : row[pro.Name].ToString(), null);
                }

                return objT;
            }).ToList();
        }
View Code

相关文章:

  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2018-01-31
  • 2021-06-13
  • 2022-12-23
  • 2022-02-10
  • 2022-12-23
猜你喜欢
  • 2021-04-17
  • 2021-10-08
  • 2021-10-22
  • 2022-12-23
  • 2022-12-23
  • 2022-02-18
相关资源
相似解决方案