Ich entdecke gerade LINQ, also sei bitte umfassend mit mir! : -)
Also! Ich habe eine Datenschicht, die mir Daten zur Verfügung stellt, und ich möchte sie in Listen von Objekten konvertieren. Diese Objekte sind in einem spezifischen Layer DTO (Data Transfer Objects) definiert.
Wie kann ich alle Zeilen meiner Datentabelle in Objekte abbilden und alle Objekte in eine Liste einfügen? (Heute mache ich es "manuell" Feld nach Feld) Ist es mit LINQ möglich? Ich habe von LINQ2Entities gehört? Habe ich recht?
Danke einem Anfänger zu verstehen helfen ...
Wenn die Objekte nicht zu komplex sind, können Sie Folgendes verwenden:
%Vor% Damit können Sie nun schreiben: var list = YourDataTable.ToList<YourEntityType>()
.
Sie können darüber lesen: Ссылка
Und es ist eine Antwort auf eine vorherige Frage: Convert DataTable in Generic List in C #
BEARBEITEN: Ich sollte hinzufügen, dass dies nicht linq ist, aber einige Erweiterungsmethoden zu DataTable
Ich habe geschrieben. Außerdem wird mit der Konvention gearbeitet, dass die Eigenschaften in dem Objekt, dem Sie zuordnen, denselben Namen wie in der DataTable haben. Natürlich könnte dies erweitert werden, um Attribute auf den Eigenschaften zu lesen, oder die Methode selbst könnte ein einfaches Dictionary<string,string>
benötigen, das für das Mapping verwendet werden könnte. Sie könnten es auch mit einigen Funktionen erweitern, die ein params string[] excludeProperties
benötigen, um einige der Eigenschaften auszuschließen.
Ich würde vorschlagen, über das ADO.NET Entity Framework zu lesen . Es unterstützt, was Sie fragen, und der Link sollte Sie mit ausreichenden Informationen und Beispielen versorgen:)
Es gibt auch viele Tutorials , die über das Thema für den Einstieg sprechen .
es ist besser zu überprüfen, ob die Spalte in der Zeile vorhanden ist, um die Zuordnung auf eine andere Weise zu machen, wird eine Ausnahme ausgelöst, in meinem Fall habe ich zwei Objekte, von denen einer mehr Eigenschaften hat als der andere mit dem gleichen Namen und Datentyp
%Vor%