使用linq将泛型列表转换为数据表

本文关键字:转换 数据表 列表 泛型 linq 使用 | 更新日期: 2023-09-27 18:00:36

List<Employee> objEmpList = new List<Employee>();
    for (int i = 0; i < 5; i++)
    { 
        objEmpList.Add(new Employee(){ID=i, Name="aa" + i});
    }

我想使用linq或lambda表达式创建具有作为行的泛型列表项的表。。。怎么做。。??我是用循环来做的,但我想用linq。。!

使用linq将泛型列表转换为数据表

使用CopyToDataTable扩展。请参阅msdn文章如何:在泛型类型T不是DataRow 的情况下实现CopyToDataTable

DataTable table = objEmpList.CopyToDataTable();

BTW这里是创建员工列表的更简单的方法:

Enumerable.Range(0,5)
          .Select(i => new Employee { ID = i, Name = "aa" + i })
          .ToList();

还可以考虑使用NBuilder:

Builder<Employee>.CreateListOfSize(5).Build()