/// <summary>
        /// 实体对象转换DataTable
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <returns>DataTable</returns>
        public static DataTable GetDataTableByEntity(object entity)
        {
            DataTable dt = new DataTable();
            Type type = entity.GetType();
            dt.TableName = type.Name;
            DataRow dr = dt.NewRow();
            foreach (var p in type.GetProperties())
            {
                if (!dt.Columns.Contains(p.Name))
                    dt.Columns.Add(p.Name);
                dr[p.Name] = p.GetValue(entity, null) == null ? "" : p.GetValue(entity, null).ToString();
            }
            dt.Rows.Add(dr);
            return dt;
        }

/// <summary>
        /// List转换成DataTable
        /// </summary>
        /// <typeparam name="T">实体对象类型</typeparam>
        /// <param name="list">list集合</param>
        /// <returns>DataTable</returns>
        public static DataTable GetDataTableByList<T>(List<T> list)
        {
            DataTable dt = new DataTable();
            foreach (T t in list)
            {
                DataRow dr = dt.NewRow();
                Type type = t.GetType();
                if (String.IsNullOrEmpty(dt.TableName))
                    dt.TableName = type.Name;
                foreach (var p in type.GetProperties())
                {
                    if (!dt.Columns.Contains(p.Name))
                        dt.Columns.Add(p.Name);
                    dr[p.Name] = p.GetValue(t, null) == null ? "" : p.GetValue(t, null).ToString();
                }
                dt.Rows.Add(dr);
            }
            return dt;
        }

实体对象,List泛型 转换为DataTable的更多相关文章

  1. EF实体对象解耦 - 泛型联表查询

    为了达到模块间最小耦合,单模块业务数据不与其他模块发生关系.在操作数据库的时候,采用EF泛型操作.但泛型操作不好实现联表,经过一晚的试验发现了一种定义数据库上下文并联表的方式. 1.实体对象定义.实体 ...

  2. DataTable转换为Model实体对象

    记得在学校的时候,接触得最多的就是SqlHelper,每次在读取的时候不管是DataTable还是DataReader转换为实体对象的时候是最恼火的,因为要写很多代码,而且没有什么意义.后面接触到了反 ...

  3. DataTable填补了实体类返回泛型集合

    坤哥见我昨天找了一段代码,如下面: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我,假设实体有500多个属性,难道也要 ...

  4. DataTable填充实体类返回泛型集合

    昨天找坤哥看到我的一段代码.例如以下: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我.假设实体有500多个属性.难道 ...

  5. C# 将object对象转换为实体对象

    C# 将object对象转换为实体对象.一共两种方法. 第一种方法,代码如下: /// <summary> /// 将object对象转换为实体对象 /// </summary> ...

  6. 对象列表转换为DataTable或DataTable转换为对象列表.

    /**********************************************************************************/ // 说明: 数据转换工具. ...

  7. [工具类]泛型集合转换为DataTable

    写在前面 在实际项目中,用到了将集合转换为DataTable,就试着封装了一个方法,记录一下. 代码 using System; using System.Collections.Generic; u ...

  8. 泛型集合转换为DataTable

    在做项目中,遇到了将集合转换为DataTable的使用,在网上看了资料,在这里记录下来,分享. using System; using System.Collections.Generic; usin ...

  9. net.sf.json在处理json对象转换为普通java实体对象时的问题和解决方案

    我使用的net.sf.json是json-lib-2.4-jdk15.jar,把json对象转换为普通java实体对象时候有个问题,josn对象转换为java对象之后,json串里面的那几个小数点的值 ...

随机推荐

  1. Cookie应用参考

    内容来自imooc.

  2. Refseq,accssion #,gi ,Ensembl的关系

    accession编号的分子类型代号: Ensembl是2000年就开始开发的基因组自动注释软件,起初是只对真核生物基因组,2009年后开始对植物,细菌等开放.既然要注释,就要有注释对象(基因,转录本 ...

  3. Linux下捕捉信号

    关于 信号signal的知识铺垫 点这里 信号由三种处理方式: 忽略 执行该信号的默认处理动作 捕捉信号 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个自定义函数,这称为捕捉信号. 进程收 ...

  4. MapReduce:汇总学生表和成绩表为----学生成绩表

    已知两张数据表,其中表一存储的是学生编号.学生姓名:表二存储的是学生编号.考试科目.考试成绩:编写mapreduce程序,汇总两张表数据为一张统一表格. 表一: A001 zhangsan A002 ...

  5. centos 安装 谷歌BBR

    使用root用户登录,运行以下命令: wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh  ...

  6. kafka入门使用

    kafka版本0.11.0.1以上自带zookeeper,必须要求环境中有jdk,解压后进入目录 1.在kafka解压目录下下有一个config的文件夹,里面放置的是我们的配置文件 consumer. ...

  7. unidbnavigator提示汉化

  8. AIDL与Binder的区别

    Binder是一个远程对象的基础类,核心部分是远程调用机制,这部分是由IBinder定义的. 它是对IBinder类的实现,其中IBinder类提供了这样一个类的标准的本地化实现方式. 大多数开发者不 ...

  9. SqlServer、oracle、mysql分页的实现

    我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即 ...

  10. Listview_简单使用_(Virtual)

    1.代码来自于“C:\Program Files (x86)\Borland\Delphi7\Demos\Virtual Listview” 1.1.是使用 ListView来显示数据 1.2.自己管 ...