Как Вы преобразовываете DataTable в универсальный список?

решил проблему с добавлением kubelet --fail-swap-on=false" в KUBELET_ARGS= в конфигурационном файле Kubelet. Но проблема с узлами остается прежней - статус NotReady

173
задан Iain Holder 16 October 2008 в 13:23
поделиться

4 ответа

Более 'волшебному' пути, и не нужна.NET 3.5.

Если, например, DBDatatable возвращал отдельный столбец Гуидов (uniqueidentifier в SQL) затем, Вы могли использовать:

Dim gList As New List(Of Guid)
gList.AddRange(DirectCast(DBDataTable.Select(), IEnumerable(Of Guid)))
4
ответ дан 23 November 2019 в 20:34
поделиться

Расширение использования:

public static class Extensions
{
    #region Convert Datatable To List
    public static IList<T> ToList<T>(this DataTable table) where T : new()
    {
        IList<PropertyInfo> properties = typeof(T).GetProperties().ToList();
        IList<T> result = new List<T>();

        foreach (var row in table.Rows)
        {
            var item = CreateItemFromRow<T>((DataRow)row, properties);
            result.Add(item);
        }
        return result;
    }
    private static T CreateItemFromRow<T>(DataRow row, IList<PropertyInfo> properties) where T : new()
    {
        T item = new T();
        foreach (var property in properties)
        {
            property.SetValue(item, row[property.Name], null);
        }
        return item;
    }
    #endregion
}
0
ответ дан 23 November 2019 в 20:34
поделиться

DataTable.Select () не дает Строки в том порядке, в котором они присутствовали в таблице данных.

3
ответ дан 23 November 2019 в 20:34
поделиться

Опять же, используя 3.5, вы можете сделать это так:

dt.Select().ToList()

BRGDS

6
ответ дан 23 November 2019 в 20:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: