博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# DataTable 转 List(大家进来讨论讨论)
阅读量:6263 次
发布时间:2019-06-22

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

C# DataTable 转 List 方法,网上有好多,之前也收集了,感觉这个也不错,重要是自己要领会这里面的代码含义。

接不来我就把代码贴出来分享一下,大家觉得如果不好,请留言我,我来改进。

using System;using System.Collections.Generic;using System.Data;using System.Reflection;namespace jdrz.HumanIdentify{    public class Helper    {        ///         /// DataTable 转换为List 集合        ///         /// 
类型
/// DataTable ///
public static List
ToList
(DataTable dt) where TResult : class, new() { //创建一个属性的列表 var prlist = new List
(); //获取TResult的类型实例 反射的入口 var t = typeof(TResult); //获得TResult 的所有的Public 属性 并找出TResult属性和DataTable的列名称相同的属性(PropertyInfo) 并加入到属性列表 Array.ForEach(t.GetProperties(), p => { if (dt.Columns.IndexOf(p.Name) != -1) prlist.Add(p); }); //创建返回的集合 var oblist = new List
(); foreach (DataRow row in dt.Rows) { //创建TResult的实例 var ob = new TResult(); //找到对应的数据 并赋值 prlist.ForEach(p => { if (row[p.Name] != DBNull.Value) p.SetValue(ob, row[p.Name], null); }); //放入到返回的集合中. oblist.Add(ob); } return oblist; } }}

 

 

总结一下:

其实我想重写下Ado.net ,因为之前我们公司用的都是直接dataset to datatable ,现在发现 to list更方便(不知道大家有没有这种感觉),

我自己用的是Nhibernate,所以基于公司内部的话,我想再写个Ado.net 转换数据的dll,最后我想说的是,大家在公司里都是用什么开发的?

ado.net?nhibernate?Elinq?entityframework?希望大家一起讨论讨论!

转载地址:http://gezpa.baihongyu.com/

你可能感兴趣的文章
[LeetCode]Letter Combinations of a Phone Number
查看>>
数据结构中的基本排序算法总结
查看>>
np一些基本操作1
查看>>
面试真题-----hashMap原理
查看>>
js阻止事件冒泡 return false / e.stopPropagation() /e.preventDefault()
查看>>
CSS伪类使用
查看>>
哈佛成功金句
查看>>
iview Table表格单选框互斥
查看>>
leetcode278
查看>>
CodeForces-771D-Bear and Company
查看>>
PAT 1032 Sharing
查看>>
Extjs设置或获取cookie
查看>>
CC2541蓝牙BLE4.0主从透传工程
查看>>
iOS OC中block使用
查看>>
python之路--操作系统介绍,进程的创建
查看>>
markdown语法小结
查看>>
Java Gui 设计模式中的事件监听
查看>>
JavaSE-final关键字
查看>>
python自动化开发-1
查看>>
Remote远程特性的使用
查看>>