/// <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. 通过自动回复机器人学Mybatis:代码重构(分层)

    imooc视频学习笔记 ----> URL:http://www.imooc.com/learn/154 ListServlet.java package com.imooc.servlet; ...

  2. 基于Bootstrap的jQuery登录表单

    在线演示 本地下载

  3. ssi include返回404页面

    项目中index.html中包含<!--#include virtual="/commonfrag/djdzkan/recomm_www_info.inc"  --> ...

  4. centos 6+安装山逗斯骚尅特

    系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 关于本脚本 一键安装 Shadowsocks-Python, ShadowsocksR, Shadowso ...

  5. AtCoder Regular Contest 096

    AtCoder Regular Contest 096 C - Many Medians 题意: 有A,B两种匹萨和三种购买方案,买一个A,买一个B,买半个A和半个B,花费分别为a,b,c. 求买X个 ...

  6. JavaScript字符串转换为变量名

    1.将一个字符串转换为变量名 [javascript] view plain copy print? function string_to_name(string){ let _name = 'var ...

  7. 枚举处理工具类 .net

    将枚举转化成List<T>的方法如下: /// <summary> /// 枚举处理工具类 /// </summary> public class EnumHelp ...

  8. SQL中去掉换行符 与空格符

    SELECT B.TradeOrderID AS '二段交易号',B.ZipCode AS '邮编', B.Province AS '省',B.City AS '市',B.District AS '区 ...

  9. 二路归并排序,利用递归,时间复杂度o(nlgn)

    public class MergeSort { public void mergeSort(int[]data, int left, int right) { if(left >= right ...

  10. Source Insight 插件

    一提到外挂程序,大家肯定都不陌生,QQ就有很多个版本的去广告外挂,很多游戏也有用于扩展功能或者作弊的工具,其中很多也是以外挂的形式提供的.外挂和插件的区别在于插件通常依赖于程序的支持,如果程序不支持插 ...