博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataSet转化为实体集合类
阅读量:6212 次
发布时间:2019-06-21

本文共 2788 字,大约阅读时间需要 9 分钟。

1 ///  2         /// DataSet转换为实体类 3         ///  4         /// 
实体类
5 /// DataSet 6 /// 待转换数据表索引 7 ///
实体类
8 public static T DataSetToEntity
(DataSet p_DataSet, int p_TableIndex) 9 {10 if (p_DataSet == null || p_DataSet.Tables.Count < 0)11 return default(T);12 if (p_TableIndex > p_DataSet.Tables.Count - 1)13 return default(T);14 if (p_TableIndex < 0)15 p_TableIndex = 0;16 if (p_DataSet.Tables[p_TableIndex].Rows.Count <= 0)17 return default(T);18 19 DataRow p_Data = p_DataSet.Tables[p_TableIndex].Rows[0];20 // 返回值初始化21 T _t = (T)Activator.CreateInstance(typeof(T));22 PropertyInfo[] propertys = _t.GetType().GetProperties();23 foreach (PropertyInfo pi in propertys)24 {25 if (p_DataSet.Tables[p_TableIndex].Columns.IndexOf(pi.Name.ToUpper()) != -1 && p_Data[pi.Name.ToUpper()] != DBNull.Value)26 {27 pi.SetValue(_t, p_Data[pi.Name.ToUpper()], null);28 }29 else30 {31 pi.SetValue(_t, null, null);32 }33 }34 return _t;35 }36 37 ///
38 /// DataSet转换为实体列表39 /// 40 ///
实体类
41 ///
DataSet42 ///
待转换数据表索引43 ///
实体类列表
44 public static IList
DataSetToEntityList
(DataSet p_DataSet, int p_TableIndex)45 {46 if (p_DataSet == null || p_DataSet.Tables.Count < 0)47 return default(IList
);48 if (p_TableIndex > p_DataSet.Tables.Count - 1)49 return default(IList
);50 if (p_TableIndex < 0)51 p_TableIndex = 0;52 if (p_DataSet.Tables[p_TableIndex].Rows.Count <= 0)53 return default(IList
);54 55 DataTable p_Data = p_DataSet.Tables[p_TableIndex];56 // 返回值初始化57 IList
result = new List
();58 for (int j = 0; j < p_Data.Rows.Count; j++)59 {60 T _t = (T)Activator.CreateInstance(typeof(T));61 PropertyInfo[] propertys = _t.GetType().GetProperties();62 foreach (PropertyInfo pi in propertys)63 {64 if (p_Data.Columns.IndexOf(pi.Name.ToUpper()) != -1 && p_Data.Rows[j][pi.Name.ToUpper()] != DBNull.Value)65 {66 pi.SetValue(_t, p_Data.Rows[j][pi.Name.ToUpper()], null);67 }68 else69 {70 pi.SetValue(_t, null, null);71 }72 }73 result.Add(_t);74 }75 return result;76 }

 

转载于:https://www.cnblogs.com/ezplusy/p/4054861.html

你可能感兴趣的文章
详解 Discuz 的 PHP经典加密解密函数 authcode
查看>>
使用curl命令查看访问url的时间
查看>>
WinForm中跨线程操作控件
查看>>
下MFC中对象、句柄、ID之间的区别.
查看>>
如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
查看>>
Flymeos插桩适配教程
查看>>
还在用PS磨皮去皱?看看如何用神经网络高度还原你的年轻容貌!
查看>>
大端模式与小端模式、网络字节顺序与主机字节顺序
查看>>
微信支付申请90%的商户都卡在这儿了,申请微信支付,商户功能设置详细说明...
查看>>
高仿Instagram 页面效果android特效
查看>>
2016 年总结
查看>>
将String转化成Stream,将Stream转换成String
查看>>
java路径Java开发中获得非Web项目的当前项目路径
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
Kali-linux Arpspoof工具
查看>>
PDF文档页面如何重新排版?
查看>>
基于http协议使用protobuf进行前后端交互
查看>>
bash腳本編程之三 条件判断及算数运算
查看>>
php cookie
查看>>
linux下redis安装
查看>>