使用linq将通用列表转换为datatable ..?

siv*_*iva 2 c# linq linq-to-dataset

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

我想使用linq或lambda表达式创建具有通用列表项的表作为行...如何做到?? ??我使用循环做了但我想用linq做那个..!

Ser*_*kiy 9

使用CopyToDataTable扩展名.请参阅msdn文章如何:实现通用类型T不是DataRow的CopyToDataTable

DataTable table = objEmpList.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这里是创建员工列表的简单方法:

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

考虑也使用NBuilder:

Builder<Employee>.CreateListOfSize(5).Build()
Run Code Online (Sandbox Code Playgroud)

  • +1我不知道这个方法.很酷. (2认同)