转自:http://www.cnblogs.com/zzyyll2/archive/2010/07/20/1781649.html

dataset和实体类 之间的转换

//dataset转实体类 


代码
public static IList<T> FillModel(DataSet ds) 

List<T> l = new List<T>(); 
T model = default(T); if (ds.Tables[0].Columns[0].ColumnName == "rowId") 

ds.Tables[0].Columns.Remove("rowId"); 
}   foreach (DataRow dr in ds.Tables[0].Rows) 
{ model = Activator.CreateInstance<T>(); foreach (DataColumn dc in dr.Table.Columns) 
{ PropertyInfo pi = model.GetType().GetProperty(dc.ColumnName); 
if (dr[dc.ColumnName] != DBNull.Value) 
pi.SetValue(model, dr[dc.ColumnName], null); 
else 
pi.SetValue(model, null, null); } 
l.Add(model); 
} return l; }

将实体类转换成DataTable


代码

/// <summary> 
/// 将实体类转换成DataTable 
/// </summary> 
/// <typeparam name="T"></typeparam> 
/// <param name="i_objlist"></param> 
/// <returns></returns> 
public static DataTable Fill<T>(IList<T> objlist) 

if (objlist == null || objlist.Count <= 0) 

return null; 

DataTable dt = new DataTable(typeof(T).Name); 
DataColumn column; 
DataRow row; System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance); foreach (T t in objlist) 

if (t == null) 

continue; 
} row = dt.NewRow(); for (int i = 0, j = myPropertyInfo.Length; i < j; i++) 

System.Reflection.PropertyInfo pi = myPropertyInfo[i]; string name = pi.Name; if (dt.Columns[name] == null) 

column = new DataColumn(name, pi.PropertyType); 
dt.Columns.Add(column); 
} row[name] = pi.GetValue(t, null); 
} dt.Rows.Add(row); 

return dt; 
}

(转)DATATABLE(DATASET)与实体类之间的互转.的更多相关文章

  1. datatable与实体类之间相互转化的几种方法

    #region DataTable转换成实体类 /// <summary> /// 填充对象列表:用DataSet的第一个表填充实体类 /// </summary> /// & ...

  2. DataTable和实体类之间的转换

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...

  3. winfrom DataSet和实体类的相互转换

    最近做WInfrom项目,对表格和控件的数据绑定非常喜欢用实体类对象来解决,但是绑定以后 又怎么从控件中拿到实体类或者转换为datatable 或者dataset呢 经过在网上的搜索以及自己的改进 完 ...

  4. DataSet和实体类的相互转换

    最近做WInfrom项目,对表格和控件的数据绑定非常喜欢用实体类对象来解决,但是绑定以后 又怎么从控件中拿到实体类或者转换为datatable 或者dataset呢 经过在网上的搜索以及自己的改进 完 ...

  5. DataSet转换为实体类

    /// <summary> /// DataSet转换为实体类 /// </summary> /// <typeparam name="T">实 ...

  6. (转)DataTable与结构不同实体类之间的转换

    原文地址:http://www.cnblogs.com/kinger906/p/3428855.html 在实际开发过程中,或者是第三方公司提供的数据表结构,与我们系统中的实体类字段不对应,遇到这样我 ...

  7. DataTable与结构不同实体类之间的转换

    在实际开发过程中,或者是第三方公司提供的数据表结构,与我们系统中的实体类字段不对应,遇到这样我们怎么处理呢?可能有人会说,在转换时创建一个实体对象,对表里的数据逐行遍历来实例化这个实体对象不就完了.的 ...

  8. c# XML和实体类之间相互转换(序列化和反序列化)[砖]

    link: http://blog.okbase.net/haobao/archive/62.html by: 好饱 我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlU ...

  9. C# XML和实体类之间相互转换(序列化和反序列化)

    我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. using System; using System.Collections.Ge ...

随机推荐

  1. Python3.2-re模块之常用正则记录

    python的re模块是个很好的模块,这里简单记录下自己编写的几个有用的正则: 1:邮箱匹配: gReMailbox = re.compile(r'([\w\.\-+]+@[\w\-]+(?:\.[\ ...

  2. 常用的php数组函数

    以下是自己比较常用的数组函数 数组元素增加减少array_pusharray_poparray_shiftarray_unshift array_splice  (对数组的增删改) array_sli ...

  3. Android开发四大组件之Service(具体解释篇)

    Android开发之四大组件--Service 一.Service 简单介绍 Service是android系统中的四大组件之中的一个(Activity.Service.BroadcastReceiv ...

  4. c# 限制同时启动多个实例程序运行

    using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using S ...

  5. 20155220 《网络对抗》Exp 8 Web基础

    20155220 <网络对抗>Exp 8 Web基础 基础问题回答 实践内容 1.Web前端HTML 配置环境 正常安装.启动Apache 安装:sudo apt-get install ...

  6. 20155328 《网络攻防》 实验一:PC平台逆向破解(5)M

    20155328 <网络攻防> 实验一:PC平台逆向破解(5)M 实践目标 实践对象:linux可执行文件pwn1. 正常执行时,main调用foo函数,foo函数会简单回显任何用户输入的 ...

  7. LoRa---射频信号接收框架简图介绍

    LoRa整体框架图如下: 内容下次再填! 内容补上: 射频信号的接收流程(小博并非专业,错了emmmmm轻喷):射频--->中频--->基带,下面按照图中标的序号开始介绍: 1.天线接受射 ...

  8. metasploit-smb扫描获取系统信息

    1.msfconsle 2.use auxiliary/scanner/smb/smb_version 3. msf auxiliary(smb_version) > set RHOSTS 17 ...

  9. [CF1019C]Sergey's problem[构造]

    题意 找出一个集合 \(Q\),使得其中的点两两之间没有连边,且集合中的点可以走不超过两步到达其他所有不在集合中的点.输出任意一组解. \(n\leq 10^6\) 分析 考虑构造,先从 \(1\) ...

  10. Number.toString SyntaxError

    问题分析 问题 20.toString(); VM163:1 Uncaught SyntaxError: Invalid or unexpected token 分析 "."号的原 ...