C# 用Linq实现DataTable转换成List

本文介绍了如何使用C#的Linq和反射技术,创建一个通用类来将DataTable转换为任意模型的List集合,避免为每个模型单独编写转换方法。通过这种方法,可以简化大量模型转换的代码工作。
摘要由CSDN通过智能技术生成
public static List<User> ConvertDataTableToObjectList(DataTable dt)
{
      var list = (from t in dt.AsEnumerable()
                  select (new User
                  {
                    /*注意:t.Field<int>("Id")中的int表示DataTable中的数据类型,Id表示对应的列
                     * t.Field<int>("Id")表示把DataTable中的列名为Id的列对应的值赋给User的Id属性,
                     * 如果你不确定Field的数据类型,你可以用断点来查看
                    */
                    Id = t.Field<int>("Id"),
                    Name = t.Field<string>("Name"),
                    Email = t.Field<string>("Email"),
                    Age = t.Field<int>("Age"),
                  })).OrderBy(x => Guid.NewGuid().ToString()).ToList();
      return list;
 }

问题:如果系统有几十上百个模型,那不是每个模型中都要写个把DataTable转换为此模型的方法吗?  

解决:能不能写个通用类,可以把DataTable转换为任何模型,呵呵&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值