将一个DataTable转换成一个List<T>的泛型集合
来源:互联网 发布:淘宝刷单有什么后果 编辑:程序博客网 时间:2024/05/04 18:12
//// 将一个DataTable转换成一个List<T>的泛型集合
/// <summary>
/// DataTable装换成实体类T
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dt"></param>
/// <returns></returns>
public List<T> DataTableToList<T>(DataTable dt)
{
List<T> lt = new List<T>();
if (dt == null || dt.Rows.Count == 0)
{
return lt;
}
Type objType = typeof(T);
foreach (DataRow dr in dt.Rows)
{
object obj = System.Activator.CreateInstance(objType);//创建实例
foreach (System.Reflection.PropertyInfo pi in objType.GetProperties())//遍历T类的所有属性
{
if (pi.PropertyType.IsPublic && pi.CanWrite && dt.Columns.Contains(pi.Name))//属性是否为public和可写
{
Type pType = Type.GetType(pi.PropertyType.FullName);//属性类型
object value = Convert.ChangeType(dr[pi.Name], pType);//转换dt值为对应属性的类型
objType.GetProperty(pi.Name).SetValue(obj, value, null);//赋值
}
}
lt.Add((T)obj);
}
return lt;
}
/// <summary>
/// DataTable装换成实体类T
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dt"></param>
/// <returns></returns>
public List<T> DataTableToList<T>(DataTable dt)
{
List<T> lt = new List<T>();
if (dt == null || dt.Rows.Count == 0)
{
return lt;
}
Type objType = typeof(T);
foreach (DataRow dr in dt.Rows)
{
object obj = System.Activator.CreateInstance(objType);//创建实例
foreach (System.Reflection.PropertyInfo pi in objType.GetProperties())//遍历T类的所有属性
{
if (pi.PropertyType.IsPublic && pi.CanWrite && dt.Columns.Contains(pi.Name))//属性是否为public和可写
{
Type pType = Type.GetType(pi.PropertyType.FullName);//属性类型
object value = Convert.ChangeType(dr[pi.Name], pType);//转换dt值为对应属性的类型
objType.GetProperty(pi.Name).SetValue(obj, value, null);//赋值
}
}
lt.Add((T)obj);
}
return lt;
}
- 将一个DataTable转换成一个List<T>的泛型集合
- 将DataTable转换成List<T>泛型集合助手类
- 将一个集合转换为一个DataTable
- 【代码】DataTable转换成List<T>集合
- C#将DataTable转换成单个T实体和List<T>集合
- 将List集合类转换成DataTable
- 将泛类型集合List类转换成DataTable
- 将泛类型集合List类转换成DataTable
- 将泛类型集合List类转换成DataTable
- 将泛类型集合List类转换成DataTable
- 将泛类型集合List类转换成DataTable转换泛类型集合List 互转
- 如何将DataTable转换成List<T>呢?
- DataTable转换成List<T>
- DataTable转换成List<T>
- DataTable转换成List<T>
- 如何将 DataView 转换成一个 DataTable
- 将泛型集合类(List<T>)转换成DataTable,返回的DataTable所有列的数据类型为string型,且列顺序与字符串提供的字段顺序一致
- 将datatable转换成list
- iOS app官方开发,调试,发布流程
- iOS:how to update/renew Provisioning profile
- 孙鑫VC++ 学习笔记1
- 求多条线段相交(暴力了点)
- delegate 委托一例(3)
- 将一个DataTable转换成一个List<T>的泛型集合
- fstream 和中文路径
- oracle中查询表空间中的表 表中的字段 视图的脚本
- HTML5新功能及发展预测
- const static在c c++中的作用
- 网络流_Ford_Fulkerson
- git 使用详解(1)--历史
- hdoj 1028 Ignatius and the Princess III 整数拆分 递推
- PropertyNotFoundException:could not find a setter forXXX