C# List与DataTable的相互转化
2013-10-21 09:10
302 查看
List与Data的转化比较简单,网上也很多。但是大多都有一个Bug:当实体类有可空类型的属性时,转化会出异常(DATASET不支持System.Nullable异常)
下面的方法可以避免出现这个问题。
①List转DataTable
下面的方法可以避免出现这个问题。
①List转DataTable
#region 反射List To DataTable /// <summary> /// 将集合类转换成DataTable /// </summary> /// <param name="list">集合</param> /// <returns></returns> public static DataTable ListToDataTable(IList list) { DataTable result = new DataTable(); if (list.Count > 0) { PropertyInfo[] propertys = list[0].GetType().GetProperties(); foreach (PropertyInfo pi in propertys) { Type colType = pi.PropertyType; if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>))) { colType = colType.GetGenericArguments()[0]; } result.Columns.Add(new DataColumn(pi.Name, colType)); } for (int i = 0; i < list.Count; i++) { ArrayList tempList = new ArrayList(); foreach (PropertyInfo pi in propertys) { object obj = pi.GetValue(list[i], null); tempList.Add(obj); } object[] array = tempList.ToArray(); result.LoadDataRow(array, true); } } return result; }
相关文章推荐
- JSON与DataTable(DataSet)相互转化
- list和datatable的相互转化
- DataTable与Json相互转化
- DateTable与List<T>相互转换 及JSON与DataTable(DataSet)相互转化
- List与DataTable,Array之间的相互转化
- JSON与DataTable(DataSet)相互转化
- JSON与DataTable(DataSet)相互转化
- DataTable与Xml的相互转化
- DataView DataTable相互转化
- DataSet、DataTable、Json、List 等各种数据的相互转化
- [置顶] DataTable与Json相互转化,以及DataTable转化Json的三种方式
- DataTable ,XML和JSON相互转化
- DataTable 与 Excel文件(CSV)相互转化
- DataTable 与 Excel文件(CSV)相互转化
- JSON与DataTable(DataSet)相互转化
- AsDataView Dataview ,DataTable 跟linq的相互转化
- datatable与实体类之间相互转化的几种方法
- .net json 和 Datatable 相互转化
- 整型和字符串相互转化
- 将实体转化成json并将json转换成DataTable