![]() |
|
||||||
/// <summary>
/// 将DataRow转换成指定类型 /// </summary> /// <param name="pDataRow"></param> /// <param name="pType">实体类</param> /// <returns></returns> private Object ConvertToEntity(DataRow pDataRow, Type pType) { Object entity = null; Object proValue = null; PropertyInfo propertyInfo = null; try { if (pDataRow != null) { //动态创建类的实例 entity = Activator.CreateInstance(pType); foreach (DataColumn dc in pDataRow.Table.Columns) { //忽略绑定时的大小写 propertyInfo = pType.GetProperty(dc.ColumnName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); proValue = pDataRow[dc]; //当值不为空时 if (proValue != DBNull.Value) { try { //给属性赋值 propertyInfo.SetValue(entity, Convert.ChangeType(proValue, dc.DataType), null); } catch //如果有错误,继续下一个属性的赋值 { continue; } } } } } catch (Exception err) { entity = null; } return entity; } |
|||||||
|
|||||||
| Document对象为例,相关方法示例 < 上一篇 | 下一篇 > SqlDataReader转成DataTable |
用户回复
