Hallo zusammen,
ich habe ein kleines Problem mit einem Linq Befehl. Hat jemand eine Idee was ich falsch mache.
TabelleA:
Id | spalte2 | spalte3
1 | test | test
2 | test2 | test2
TablleB:
Id | IdTabelleA |bSpalte
1 | 1 | testB
TabelleC:
Id | IdTabelleA | cSpalte
1 | 2 | testC
Ergebnis sollte sein:
Id (aus TabelleA) | spalte2 | spalte3 | bSpalte | cSpalte
1 | test | test |testB | -
2 | test2 | test2 | - | testC
Wenn ich Tabelle A mit Tabelle B ODER C Join dann stimmt das Join Ergebnis. Wenn ich den Group Join anwende bekomm ich auch ein Ergebnis allerdings fehlen mir die Angaben aus der gejointen Tabelle. Also nur die Aus Tabelle A werden angezeigt. Wenn ich alle drei mit dem Group Join verbinde bekomme ich nichts angezeigt. Ich denke das ich die leeren Felder mit DefaultIsEmpty abfangen muss. Aber ich bekomme es nicht hin.
Mein Linq String
Danke
Gruß
EDIT:
Fehler behoben
ich habe ein kleines Problem mit einem Linq Befehl. Hat jemand eine Idee was ich falsch mache.
TabelleA:
Id | spalte2 | spalte3
1 | test | test
2 | test2 | test2
TablleB:
Id | IdTabelleA |bSpalte
1 | 1 | testB
TabelleC:
Id | IdTabelleA | cSpalte
1 | 2 | testC
Ergebnis sollte sein:
Id (aus TabelleA) | spalte2 | spalte3 | bSpalte | cSpalte
1 | test | test |testB | -
2 | test2 | test2 | - | testC
Wenn ich Tabelle A mit Tabelle B ODER C Join dann stimmt das Join Ergebnis. Wenn ich den Group Join anwende bekomm ich auch ein Ergebnis allerdings fehlen mir die Angaben aus der gejointen Tabelle. Also nur die Aus Tabelle A werden angezeigt. Wenn ich alle drei mit dem Group Join verbinde bekomme ich nichts angezeigt. Ich denke das ich die leeren Felder mit DefaultIsEmpty abfangen muss. Aber ich bekomme es nicht hin.
Mein Linq String
VB.NET-Quellcode
- Dim q = From s In dsStammdaten.TabelleA _
- Group Join x In dsStammdaten.TabelleB _
- On s.Id Equals x.IdTabelleA _
- Into TabelleAB = Group _
- From ab In TabelleAB _
- Join p In dsStammdaten.TabelleC _
- On ab.s.Id Equals p.IdTabelleA _
- Select {s.Id, s.spalte2, s.spalte3, ab.bSpalte, p.bSpalte}
- Me.DataGridView1.DataSource = q.ToList
Danke
Gruß
EDIT:
Fehler behoben
Warum denn tA.ID, wenn die Spalte tC.IDTabelleB heißt?
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „StGo“ ()