首页 > 代码库 > 批量插入实体类转化DataTable
批量插入实体类转化DataTable
/// <summary> /// 根据实体类得到表结构 /// </summary> /// <param name="model">实体类</param> /// <returns></returns> private DataTable CreateData<T>(T model) { DataTable dataTable = new DataTable(typeof(T).Name); foreach (PropertyInfo propertyInfo in typeof(T).GetProperties()) { if (propertyInfo.Name != "CTimestamp")//些字段为oracle中的Timesstarmp类型 { dataTable.Columns.Add(new DataColumn(propertyInfo.Name, propertyInfo.PropertyType)); } else { dataTable.Columns.Add(new DataColumn(propertyInfo.Name, typeof(DateTime))); } } return dataTable; }
/// <summary> /// 实体类转换成DataTable /// 调用示例:DataTable dt= FillDataTable(Entitylist.ToList()); /// </summary> /// <param name="modelList">实体类列表</param> /// <returns></returns> public DataTable FillDataTable<T>(List<T> modelList) { if (modelList == null || modelList.Count == 0) { return null; } DataTable dt = CreateData(modelList[0]);//创建表结构 foreach (T model in modelList) { DataRow dataRow = dt.NewRow(); foreach (PropertyInfo propertyInfo in typeof(T).GetProperties()) { dataRow[propertyInfo.Name] = propertyInfo.GetValue(model, null); } dt.Rows.Add(dataRow); } return dt; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。