public class DtConvertToList<T> where T : new()
{
/// <summary>
/// 实体转换辅助类
/// </summary> public static List<T> ConvertToModel(DataTable dt)
{
// 定义集合
List<T> ts = new List<T>(); // 获得此模型的类型
Type type = typeof(T);
string tempName = ""; foreach (DataRow dr in dt.Rows)
{
T t = new T();
// 获得此模型的公共属性
PropertyInfo[] propertys = t.GetType().GetProperties();
foreach (PropertyInfo pi in propertys)
{
tempName = pi.Name; // 检查DataTable是否包含此列 if (dt.Columns.Contains(tempName))
{
// 判断此属性是否有Setter
if (!pi.CanWrite) continue; object value = dr[tempName];
if (value != DBNull.Value)
pi.SetValue(t, value, null);
}
}
ts.Add(t);
}
return ts;
} }

  

最新文章

  1. 切换“使用被动式FTP”
  2. iOS - Availability.h
  3. qt5.4
  4. log4net:保存日志到数据库
  5. The ServiceClass object does not implement the required method in the following form: OMElement sayHello(OMElement e)
  6. Javascript设计模式之匿名函数与闭包
  7. Java之MySql数据库链接
  8. 通过Delphi获得qq安装路径
  9. ManagementException:WMI异常处理介绍
  10. Robotium API -- 等待执行的方法sleep、waitFor
  11. IIS7.5下的httpModules设置
  12. 从字符串拼接看JS优化原则
  13. Power Pivot表属性无法切换回表预览模式的问题
  14. javaScript(6)---流程控制语句
  15. MyBatis最原始的实现curd的操作
  16. 【python】python版本升级2.6.6到2.7.3(CentOS release 6.2)
  17. npm cnpm
  18. 【ATcoder】Xor Sum 2
  19. Mysql试题集锦
  20. 2018软工实践—Alpha冲刺(3)

热门文章

  1. asp.net button浏览器端事件和服务器端事件
  2. (一) ffmpeg filter学习-使用流程
  3. python应用中的小知识点
  4. CODEVS3013 单词背诵 【Hash】【MAP】
  5. BZOJ5296 CQOI2018 破解D-H协议 【BSGS】
  6. Linux系统下位(Ubuntu 11.04) 下安装配置 JDK 7安装步骤指导
  7. 实现一个web服务器, 支持php
  8. [LOJ6145][2017 山东三轮集训 Day7]Easy
  9. flex 伸缩布局
  10. Altera的几个常用的Synthesis attributes(转载)