c# - tutorial - mvc add entity framework




Modell in DataTable exportieren (2)

Die Verwendung von MoreLinq ist der beste Weg, um eine Klasse in DataTable zu konvertieren, wie bereits von S.Akbari beantwortet. Unten ist eine andere Methode, die ich gefunden habe, um dies mit System.Reflection

List<EMP> list= db.EMPs.ToList();
DataTable dt = new DataTable();       
PropertyInfo[] Props = typeof(EMP).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo prop in Props)
{
    //Setting column names as Property names
    dt.Columns.Add(prop.Name);
}

foreach (EMP e in list)
{
    var values = new object[Props.Length];
    for (int i = 0; i < Props.Length; i++)
    {
        //inserting property values to datatable rows
        values[i] = Props[i].GetValue(e, null);
    }
    dt.Rows.Add(values);
}

Ich möchte meine Modelldaten in DataSet oder DataTable konvertieren (um im Excel-Format zu exportieren)

db.EMPs.ToList()

db ist EMPs , EMPs ist dataclass .

Wie man diese Liste nach DataTable exportiert, kann ich Zeilen in Excel exportieren, aber wie man auf den Spaltennamen aus dem Header zugreift (der Spaltenname sollte nicht manuell in DataTable hinzugefügt werden)


Sie können die ToDataTable Erweiterungsmethode verwenden, müssen jedoch zuerst MoreLinq installieren. Führen Sie den folgenden Befehl in der Package Manager-Konsole aus, um MoreLINQ zu installieren:

PM> Installations-Paket morelinq

Fügen Sie dann Ihren using Anweisungen die folgende Zeile hinzu:

using MoreLinq;

Und schließlich können Sie die ToDataTable Erweiterungsmethode verwenden:

DataTable s = db.EMPs.ToDataTable();




linq