c# DataTable 帮助类

public class DataTableHelper

{

#region DataTable转IList

/// <summary>

/// DataTable转IList集合

/// </summary>

/// <typeparam name="T"></typeparam>

/// <param name="dataTable"></param>

/// <returns></returns>

public static IList<T> ToList<T>(DataTable dataTable) where T : class, new()

{

IList<T> list = new List<T>();// 定义集合

if (dataTable != null)

{

foreach (DataRow dr in dataTable.Rows)

{

T t = new T();

PropertyInfo\[\] propertys = t.GetType().GetProperties();// 获得此模型的公共属性

foreach (PropertyInfo pi in propertys)

{

var name = pi.Name;

if (dataTable.Columns.Contains(name))

{

if (!pi.CanWrite) continue;

object value = drname;

if (value != DBNull.Value)

{

pi.SetValue(t, value, null);

}

}

}

list.Add(t);

}

}

return list;

}

#endregion

}

相关推荐
Reload.7 分钟前
GJ航司,验证码网易易盾 JS逆向 纯算轨迹
开发语言·前端·javascript
人道领域20 分钟前
【LeetCode刷题日记】贪心算法理论与实战:455.分发饼干最优解
java·开发语言·数据结构·算法·leetcode·贪心算法
xin_yao_xin25 分钟前
Conda 环境的 CUDA PATH 配置指南
开发语言·python·conda·cuda
tianyazhichiC29 分钟前
【VLC player 下载地址】
windows
he___H30 分钟前
基于LCEL的联想
开发语言·python·langchain
huaqianzkh32 分钟前
DevExpress TreeList 右键菜单踩坑复盘:空白区域正常、节点右键弹出控件自带菜单解决方案
c#
阿pin44 分钟前
Android随笔-神经系统Handler
android·java·开发语言·handler
布朗克1681 小时前
Go 入门到精通-09-复合类型之Map
开发语言·后端·golang·map
zh_xuan1 小时前
c++ Expected用法
开发语言·c++·expected