2015-05-12 2 views
1

Я пытаюсь преобразовать DataTable в список Я нашел этот код в stackoverflow Я использую его unfortunatley он отображает одно и то же число строк, но с пустыми полями кто-нибудь знает, что с ним не так?fixing datatable to list код конверсии

public static class Helper 
{ 
/// <summary> 
/// Converts a DataTable to a list with generic objects 
/// </summary> 
/// <typeparam name="T">Generic object</typeparam> 
/// <param name="table">DataTable</param> 
/// <returns>List with generic objects</returns> 
public static List<T> DataTableToList<T>(this DataTable table) where T : class, new() 
{ 
    try 
    { 
     List<T> list = new List<T>(); 

     foreach (var row in table.AsEnumerable()) 
     { 
      T obj = new T(); 

      foreach (var prop in obj.GetType().GetProperties()) 
      { 
       try 
       { 
        PropertyInfo propertyInfo = obj.GetType().GetProperty(prop.Name); 
        propertyInfo.SetValue(obj, Convert.ChangeType(row[prop.Name], propertyInfo.PropertyType), null); 
       } 
       catch 
       { 
        continue; 
       } 
      } 

      list.Add(obj); 
     } 

     return list; 
    } 
    catch 
    { 
     return null; 
    } 
} 
} 

ответ

3

Ваше имя объекта недвижимости должно быть похоже на имя column..so измените имя вашего объекта аналогично имени вашей базы данных столбца таблицы

Поскольку этот код помещает значение для тех ценностей, для которых совпадающие столбцы, найденные в базе данных.

+0

большой. Спасибо. –