将Datatable转换为泛型列表对象
2011-07-26 22:08
316 查看
/// <summary>
/// 将Datatable转换为泛型列表对象
/// </summary>
/// <typeparam name="T">泛型T的数据类型</typeparam>
/// <param name="dataTable">待转换的DataTable对象</param>
/// <returns>目标泛型列表对象</returns>
protected List<T> DataTableToList<T>(DataTable dataTable)
{
List<T> list = new List<T>();
Type targetType=typeof(T);
PropertyInfo[] allPropertyArray = targetType.GetProperties();
foreach (DataRow rowElement in dataTable.Rows)
{
T element=Activator.CreateInstance<T>();
foreach (DataColumn columnElement in dataTable.Columns)
{
foreach (PropertyInfo property in allPropertyArray)
{
if(property.Name.Equals(columnElement.ColumnName))
{
if (rowElement[columnElement.ColumnName] == DBNull.Value)
{
property.SetValue(element, null, null);
}
else
{
property.SetValue(element, rowElement[columnElement.ColumnName], null);
}
}
}
}
list.Add(element);
}
return list;
}
/// 将Datatable转换为泛型列表对象
/// </summary>
/// <typeparam name="T">泛型T的数据类型</typeparam>
/// <param name="dataTable">待转换的DataTable对象</param>
/// <returns>目标泛型列表对象</returns>
protected List<T> DataTableToList<T>(DataTable dataTable)
{
List<T> list = new List<T>();
Type targetType=typeof(T);
PropertyInfo[] allPropertyArray = targetType.GetProperties();
foreach (DataRow rowElement in dataTable.Rows)
{
T element=Activator.CreateInstance<T>();
foreach (DataColumn columnElement in dataTable.Columns)
{
foreach (PropertyInfo property in allPropertyArray)
{
if(property.Name.Equals(columnElement.ColumnName))
{
if (rowElement[columnElement.ColumnName] == DBNull.Value)
{
property.SetValue(element, null, null);
}
else
{
property.SetValue(element, rowElement[columnElement.ColumnName], null);
}
}
}
}
list.Add(element);
}
return list;
}
相关文章推荐
- 实体对象,List泛型 转换为DataTable
- 把数据库中取出的DataTable转换成一个对象 或者对象列表
- Datatable转换成List实体对象列表
- 将泛型list<>列表转换为Datatable
- Datatable转换成List实体对象列表 几个实例
- 对象列表转换为DataTable或DataTable转换为对象列表.
- 5-14 EF使用存储过程以及LIST泛型对象转换为Datatable
- 将指定excel文件中的数据转换成datatable对象,供应用程序进一步处理
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- ASP.NET-datatable转换成list对象
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- [转]将List对象列表转换成JSON格式的类
- JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中
- 【第20篇】org.json字符串转换,对象的转换,泛型的转换以及JSONStringer和JSONTokener的使用
- 将jdbc结果集ResultSet转换成对象列表
- List转DataTable(反射) ; 将泛型集合类转换成DataTable ; 将集合类转换成DataTable
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- 《从LRS项目重构来看“数据类型”——(第一话)DataTable转换泛型集合出现的类型冲突》
- 将DataTable转换为List<T>对象遇到问题:类型“System.Int64”的对象无法转换为类型“System.Int32”