Vollständiger äußerer Join in 2 Datentabellen mit einer Liste von Spalten

8

Ich habe 2 Datentabellen, deren Liste der Datenspalten ich nicht kenne. Diese Liste muss zur Laufzeit extrahiert und für den vollständigen äußeren Join verwendet werden.

Wenn Sie diese Spalten verwenden, müssen die Spalten zwischen den beiden Tabellen zusammengeführt werden und ich muss alle Daten anzeigen.

Bis jetzt was ich tue ist

  1. Erhalte allgemeine Spalten, benutze intersect und implementiere IEqualityComparer
  2. Erstellen Sie mit diesen Spalten eine neue Datentabelle, so dass die zwei Datentypen in diese neue Tabelle
  3. zusammengeführt werden

Ich habe jedoch im zweiten Schritt Probleme mit Linq.

Bis jetzt habe ich:

Häufige Spalten abrufen

%Vor%

Erstellen Sie eine neue Datentabelle

%Vor%

Wie kann ich dynamisch aus der Liste der Datenspalten, die zur Laufzeit extrahiert werden, einen effizienten vollständigen Outer-Join erhalten?

    
Mez 29.05.2013, 09:11
quelle

3 Antworten

4

Dies könnte für Sie funktionieren

%Vor%     
Matthew Grima 30.05.2013, 09:10
quelle
2

Basierend auf Matthews Antwort habe ich eine Funktion erstellt, die mehr als zwei Datentabellen akzeptiert. Ich hoffe es hilft:

Verwendung:

%Vor%

Hier ist die Funktion Quelle:

%Vor%     
Gerardo Grignoli 18.08.2016 06:19
quelle
0

Ich habe auch darum gekämpft, die Antwort zu bekommen, ich kopiere den gesamten Code. Ich bin mir sicher, dass dir das weiterhilft.

Sie brauchen nur DataTable1 , DataTable2 und primarykeys von beiden Tabellen, auf denen dieser Join ausgeführt wird. Sie können den Datentabellenprimärschlüssel als

festlegen %Vor%

// Dein Code

%Vor%     
PawanS 29.05.2013 10:06
quelle

Tags und Links