Heim >Backend-Entwicklung >C#.Net-Tutorial >C#-DataTable in eine Objektinstanz der Entitätsklasse konvertiert

C#-DataTable in eine Objektinstanz der Entitätsklasse konvertiert

高洛峰
高洛峰Original
2017-01-18 09:34:472289Durchsuche

public class User 
{ 
        public int ID { get; set; } 
        public string Name { get; set; } 
} 

//对应数据库表: 
//User 
//字段:ID、Name

Dann müssen Sie möglicherweise eine Methode schreiben, um die DataTable in ein Entitätsobjekt umzuwandeln, damit DataTable.Rows es abrufen und füllen kann. .

Das Folgende ist eine allgemeine Methode, die ich geschrieben habe: Teilen + Aufzeichnen, die in Zukunft einfach direkt kopiert werden kann ~

private static List<T> TableToEntity<T>(DataTable dt) where T : class,new() 
{ 
    Type type = typeof(T); 
    List<T> list = new List<T>(); 

    foreach (DataRow row in dt.Rows) 
    { 
        PropertyInfo[] pArray = type.GetProperties(); 
        T entity = new T(); 
        foreach (PropertyInfo p in pArray) 
        { 
            if (row[p.Name] is Int64) 
            { 
                p.SetValue(entity, Convert.ToInt32(row[p.Name]), null); 
                continue; 
            } 
            p.SetValue(entity, row[p.Name], null); 
        } 
        list.Add(entity); 
    } 
    return list; 
} 
  
// 调用:
List<User> userList = TableToEntity<User>(YourDataTable);

Weitere Artikel zum Konvertieren von C# DataTable in Entitätsklassenobjektinstanzen finden Sie unter Bitte achten Sie auf die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn