实体对象,List泛型 转换为DataTable

/// <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;
        }

时间: 2024-10-11 09:29:08

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

实体类转换为DataTable

下面为实体类转换为DataTable的一个小例子: 用到了反射知识. using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Net_ConsoleApplication { class Program { stat

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

C# 将object对象转换为实体对象.代码如下: /// <summary> /// 将object对象转换为实体对象 /// </summary> /// <typeparam name="T">实体对象类名</typeparam> /// <param name="asObject">object对象</param> /// <returns></returns>

泛型集合转换为DataTable

在做项目中,遇到了将集合转换为DataTable的使用,在网上看了资料,在这里记录下来,分享. using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Wolfy.List2DataTable { class Pro

将DataTable转换为List,将List转换为DataTable的实现类

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Xmh.DBUnit { /// <summary> /// 将DataTable转换为List,将

Memcached 缓存个体,对象,泛型,表

转自 :http://www.cnblogs.com/panshengqiang/p/3605599.html 下面是两位大牛关于Memcached的介绍:大家可以看看 http://zhoufoxcn.blog.51cto.com/792419/528212 http://leepiao.blog.163.com/blog/static/48503130201104103344851/ 如下是我的总结: Memcached是一个命令行窗口程序,可以在命令行窗口中启动也可以封装在系统服务中启动.

简单封装sqlite3 实现实体对象与关系型数据库的相关操作【IOS】

源码如下,只有一个类文件 // //  DBHelper.h // //  Created by Jason_Msbaby on 15/10/15. //  Copyright ? 2015年 张杰. All rights reserved. // /**  *  简单封装了对于sqlite的使用 没有加入对事务及其他复杂的特性     基于传入sql语句的方式进行执行     使用单例模式     根据model对象自动创建表 只支持 NSInter NSString float 数据类型的支

Linq结果直接返回实体对象

说到Linq返回结果集,我们一般都会这样做: var result=from s in db.Students join c in db.Classes on s.ClassID equals c.ClassID select new { Id = s.Id, Name = c.Name, Address = c.Address }; 然后我们就直接操作result结果集或者是再进一步转换为实体对象. 现在,我们可以直接让Linq返回实体对象,这样就省去转换的麻烦了.代码如下: IEnumera

List&lt;T&gt;转换为DataTable

public static class DataTableExtensions    {        /// <summary>        /// 转化一个DataTable        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="list"></param>    

c#常用的Datable转换为json,以及json转换为DataTable操作方法

#region  DataTable 转换为Json字符串实例方法/// <summary>/// GetClassTypeJosn 的摘要说明/// </summary>public class GetClassTypeJosn : IHttpHandler{    /// <summary>    /// 文件名:DataTable 和Json 字符串互转    /// 版权所有:Copyright (C) Create Family Wealth liangjw