Laden...

2 Datatables Dynamisch in ein Expando Object abbilden

Erstellt von Heisenberg99 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.114 Views
H
Heisenberg99 Themenstarter:in
2 Beiträge seit 2020
vor 4 Jahren
2 Datatables Dynamisch in ein Expando Object abbilden

Ich bekomme 2 DataTables übergeben.
Die beiden Tabellen sind mit einem Feld verknüpft d.h. z.b mit einer Nummer die in beiden Tabellen vorkommt, also die eine Tabelle ist im Prinzip eine Detail Tabelle der anderen mit n Werten zu jedem Nummer Wert.
Die Feldnamen sind mir nicht bekannt, können sich ändern. Ich weiss nur welches Feld diese Beziehung hat.
bsp:
Tbl1: Nummer, Name...
Tbl2: Nummer, Adresse1...
Nummer, Adresse2...
Nummer, Adresse3...
....

Eine Tabelle in ein Expando Object zu wandeln ist ja kein Problem.
Bei bekannten Feldnamen zu referenzieren und damit zu verzweigen (z.b. Nummer.Adresse) ja auch nicht.
Aber wie kann ich in meinem Fall, quasi allgemein gültig ein Expando Object generieren welches dann beide Tabellen beinhaltet?

W
955 Beiträge seit 2010
vor 4 Jahren

DataTables unterstützen Linq. Du könntest mit Linq to Dataset eine Liste von anonymen Objekten projizieren welche dann weiter verarbeitet werden können.

H
Heisenberg99 Themenstarter:in
2 Beiträge seit 2020
vor 4 Jahren

Ich muss das ganze dann halt an ein WPF Element binden, deswegen das Expando Object.

16.807 Beiträge seit 2008
vor 4 Jahren

Mit DataTables zu arbeiten ist halt auch kein Genuß, daher macht man das heutzutage eigentlich nicht mehr.

Letzten Endes kannste aber auch in WPF einfach zwei DataTables mit Hilfe der Merge() Methode zusammenführen; oder eben manuell mit Linq.
Das kannste am Ende auch als ViewModels für Deine WPF XAML nutzen.

Mit Hilfe von AutoMapper und einem entsprechenden DataRow-MappingProfile kannste das relativ Code-arm umsetzen; je nachdem was aus Deiner Sicht halt auch "dynamisch" bedeutet.