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

Я хочу создать таблицу с универсальными элементами списка в виде строк с использованием linq или лямбда-выражений ... Как это сделать .. Я сделал это с помощью циклов, но я хочу сделать это с помощью linq ..!конвертировать общий список в datatable с помощью linq ..?

+1

ли, что с помощью петли? Вы ничего не делали, используя петли, которые пытались сделать то, что вы хотите сделать? – LukeHennerley

ответ

9

Использование CopyToDataTable расширение. Смотрите статью MSDN How to: Implement CopyToDataTable Where the Generic Type T Is Not a DataRow

DataTable table = objEmpList.CopyToDataTable(); 

КСТАТИ здесь простой способ создать список сотрудников:

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

Рассматривают также с помощью NBuilder:

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

+1 Я не знал об этом методе. Очень круто. –

+0

@EliGassert yep, особенно когда вы работаете с databables - вам даже не нужно писать какие-либо измельчители объектов. –

+0

Да, с предположением, что 'Employee' является' DataRow'. Или, может быть, я не придерживаюсь этого предложения. Он хочет создать первые строки из списка объектов или эти объекты являются строками данных. –

Смежные вопросы