本文给大家讲解的是如何使用C#将DataTable数据源转化为List泛型集合(已知T类型) 的方法和示例,有需要的小伙伴可以参考下
在使用三层架构开发一个网站时,希望把DataTable对象转换为List对象,于是在网上找资料,总结一个比较方便的方法来实现——使用反射。
思路:
初始化一个List对象 获取到T所有的属性,初始化一个T对象 遍历所有属性,如果DataTable中含有相应属性的值则为T对象赋值,如果没有对应的列则检查数据模型是否定义有误(属性名与列名比较时不区分大小写) 将T对象添加到List对象中
总体代码:
反射获取到的属性信息
DataTable中的列信息,对比上图,我们会发现,属性中首字母都是大写,而列名则是采用的Camel命名,首字母是小写,但是通过单步调试可以发现 dt.Columns.Contanis(tempName) 的返回值为true,由此可以证明,这样比较时是不区分大小写的
获取到T对象信息
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
/// <summary> |