zoukankan      html  css  js  c++  java
  • DataTable转换实体类

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.OracleClient;
    using System.Configuration;
    using System.Text.RegularExpressions;
    using DataAccess;
    using System.Diagnostics;
    using System.Reflection;
    namespace Business
    {
    /// <summary>
    /// 实体类转换
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class CModelTableFill<T> where T : new()
    {
    /// <summary>
    /// 填充多个实体类对象
    /// </summary>
    /// <param name="dt">数据集</param>
    /// <returns>实体类</returns>
    public List<T> FillModel(DataTable dt)
    {
    if (dt == null || dt.Rows.Count == 0)
    {
    return null;
    }
    T t = new T();
    List<T> modelList = new List<T>();
    PropertyInfo[] arrayInfo = t.GetType().GetProperties();

    foreach (DataRow itemRow in dt.Rows)
    {
    T model = new T();
    foreach (DataColumn itemColumn in dt.Columns)
    {
    foreach (PropertyInfo info in arrayInfo)
    {
    if (info.Name.ToUpper() == itemColumn.ColumnName)
    {
    if (itemRow[itemColumn.ColumnName] != DBNull.Value)
    {
    info.SetValue(model, itemRow[itemColumn.ColumnName].ToString(), null);
    }
    }
    }
    }
    modelList.Add(model);
    }
    return modelList;
    }
    /// <summary>
    /// 填充一个实体类对象
    /// </summary>
    /// <param name="dt">数据集</param>
    /// <returns>实体类</returns>
    public T FillModelRow(DataTable dt)
    {
    if (dt == null || dt.Rows.Count == 0)
    {
    return default(T);
    }
    T model = new T();
    PropertyInfo[] arrayInfo = model.GetType().GetProperties();
    for (int i = 0; i < dt.Columns.Count; i++)
    {
    foreach (PropertyInfo info in arrayInfo)
    {
    if (info.Name.ToUpper() == dt.Columns[i].ColumnName)
    {
    if (dt.Rows[0][i] != DBNull.Value)
    {
    info.SetValue(model, dt.Rows[0][i].ToString(), null);
    break;
    }
    }
    }
    }
    return model;
    }
    }
    }

  • 相关阅读:
    Asp.Net MVC 体验 1
    myisamchk命令进行崩溃恢复Myisam数据表
    nginx 全局变量
    centos开机启动项设置命令:chkconfig
    redis info 参数说明
    PHP中Imagick的使用
    查看当前nginx、mysql的连接数
    wget参数及用法
    编辑器与IDE
    广州求职,工作经验>5.期待伯乐
  • 原文地址:https://www.cnblogs.com/changeMe/p/4421427.html
Copyright © 2011-2022 走看看