У меня есть список <> объектов (где объекты являются пользовательским классом сущностей), и у меня есть DataTable, в котором есть столбцы, которые соответствуют свойствам класса сущности.
Есть ли способ, которым я могускопируйте элементы данных со списком в DataTable без необходимости циклически перебирать список и вручную добавлять данные в DataTable.
Вот пример моего текущего кода (C # 4.0):
void MergeData()
{
List<MyEntity> myEntities = GetEntities();
// Create a DataTable based on the Properties of the MyEntity class
Type entity = typeof(MyEntity);
PropertyInfo[] properties = entity.GetProperties();
DataTable dt = new DataTable();
foreach (PropertyInfo pi in properties)
{
dt.Columns.Add(pi.Name);
}
// Here's where I loop through the List and fill the DataTable.
// Is there a way to fill the DataTable without looping through the List?
foreach (MyEntity e in myEntities)
{
DataRow dr = dt.NewRow();
foreach (PropertyInfo pi in properties)
{
dr[pi.Name] = pi.GetValue(e, null);
}
dt.Rows.Add(dr);
}
}
Как правило, список <> содержит около 27 тыс. Элементов, поэтому мне просто любопытно, есть ли более чистый и / или более оптимизированный способ передачи данных из моего списка <> в DataTable.