C# - Linq mit datatables - wählen Sie aus einer Tabelle, was nicht existiert, in die andere
Zum Beispiel, ich habe zwei Tabellen, die so Aussehen,
DATATABLE-1
COLA | COLB | COLC
1 123 321
2 321 333
3 222 232
DATATABLE 2
COLA | COLB | COLC
1 123 321
2 321 333
Ich möchten, wählen Sie nur die Zeile 3 aus Tabelle eins.
Ich möchte in der Lage sein, um die join zwei Tabellen zusammen, die auf der COLA-ID, aber dann wählen Sie nur die Zeilen aus der DATATABLE-1, die noto existieren in der DATATABLE 2.
Wie kann ich das in LINQ?
Ich würde stark bevorzugen Sie die Ergebnisse, um ein datatable-oder Ienumerable oder etwas einfach zu ändern, wieder in eine datatable. wenn es nicht möglich ist werde ich schaffen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese letztlich führt einen left-outer-join werden alle Zeilen aus
table2
sind null bedeutet, dass der Datensatz intable1
nicht übereinstimmen. Ich würde empfehlen, gegen die Verwendung desAny
Methode, wie es könnte möglicherweise aufzählentable2
für jede Zeile intable1
(die für größere sets, das ist schlecht). LINQ-Join-auflisten von Tabellen nur einmal, um zu finden der passenden Paare für den Selektor-Funktion, die Sie angeben.table1.Columns["COLA"].DataType
undtable2.Columns["COLA"].DataType
gibt. Ich bin mir sicher, dass einer von Ihnen wird als etwas anderes als ein integer-Feld (in diesem Fall sollten Sie die<int>
um die notwendigen Daten geben und eventuell cast).Cannot cast DBNull.Value to type 'System.Int64'. Please use a nullable type.
ich habe versucht, die Spalte zu einem Int64? aber datatable nicht unterstütztDer einfachste Weg wäre: