C#将DataTable转换成单个T实体和List<T>集合
来源:互联网 发布:搜狐网络大厦地铁路线 编辑:程序博客网 时间:2024/05/23 02:02
/// 获得单个实体 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dt"></param> /// <returns></returns> public static T Entity<T>(DataTable dt) { if (dt == null || dt.Rows.Count == 0) { return default(T); } T entity = default(T); foreach (DataRow dr in dt.Rows) { entity = Activator.CreateInstance<T>(); PropertyInfo[] pis = entity.GetType().GetProperties(); foreach (PropertyInfo pi in pis) { if (dt.Columns.Contains(pi.Name)) { if (!pi.CanWrite) { continue; } if (dr[pi.Name] != DBNull.Value) { Type t = pi.PropertyType; //if (t.FullName == "System.Guid") //{ // pi.SetValue(entity, Guid.Parse(dr[pi.Name].ToString()), null); //} //else //{ pi.SetValue(entity, dr[pi.Name], null); //} } } } } return entity; } /// <summary> /// 获得集合实体 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dt"></param> /// <returns></returns> public static List<T> EntityList<T>(DataTable dt) { if (dt == null || dt.Rows.Count == 0) { return null; } List<T> list = new List<T>(); T entity = default(T); foreach (DataRow dr in dt.Rows) { entity = Activator.CreateInstance<T>(); PropertyInfo[] pis = entity.GetType().GetProperties(); foreach (PropertyInfo pi in pis) { if (dt.Columns.Contains(pi.Name)) { if (!pi.CanWrite) { continue; } if (dr[pi.Name] != DBNull.Value) { Type t = pi.PropertyType; if (t.FullName == "System.Guid") { pi.SetValue(entity, Guid.Parse(dr[pi.Name].ToString()), null); } else { pi.SetValue(entity, dr[pi.Name], null); } } } } list.Add(entity); } return list; }
0 0
- C#将DataTable转换成单个T实体和List<T>集合
- 【代码】DataTable转换成List<T>集合
- C#使用反射将DataTable转换List<T>
- DataTable转换成List<T>
- DataTable转换成List<T>
- DataTable转换成List<T>
- 将一个DataTable转换成一个List<T>的泛型集合
- 将DataTable转换成List<T>泛型集合助手类
- c#将List<T>转换成DataSet
- C#将DataTable转化为List<T>
- 如何将DataTable转换成List<T>呢?
- c# 反射得到实体类的字段名称和值,DataTable转List<T>
- datatable转List<T>集合
- 将List实体转换成DataTable
- 将IList<T>转换成DataTable
- datatable转换成list<T>,datatable转换成json格式
- List<T>转换为DataTable
- List<T>转换为DataTable
- 《java-SWT浏览器实现》
- 删除链表中所有值相同的多余元素
- UINavigationController自定义,push和pop动画
- Android中获取网络图片的三种方法
- yii 分页
- C#将DataTable转换成单个T实体和List<T>集合
- ThreadLocal与synchronized
- frame,iframe,frameset用法和区别
- ActionBar和Fragment结合ViewPager实现TabActivity
- js生成Json对象、Json数组
- Unity3D 里的单例模式
- 利用颜色值来生成UIImage
- windows 2012域环境出现(此工作站和主域之间的信任关系失败)
- 黑马程序员_OC基础08_description方法及SEL