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

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

高洛峰
Freigeben: 2017-01-18 09:34:47
Original
2301 Leute haben es durchsucht

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

//对应数据库表: 
//User 
//字段:ID、Name
Nach dem Login kopieren

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);
Nach dem Login kopieren

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage