LINQ, um eine Datentabelle in ein listMyObject zu mappen

8

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 ...

    
bAN 16.11.2010, 10:05
quelle

3 Antworten

19

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.

    
Tomas Jansson 16.11.2010, 10:57
quelle
0

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 .

    
Nailuj 16.11.2010 10:19
quelle
0

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%     
Mohammed Al-said 07.03.2017 15:32
quelle

Tags und Links