Ich habe die folgende LINQ-Abfrage WHERE-Klausel, die das erwartete Ergebnis nicht zurückgibt. dtTemp row.Item(0)
hat Werte wie "GE", "LE", "ST", "PL"
, während Stkyard
ein String-Array mit einem oder mehreren dieser Werte ist.Linq-Abfrage mit Zeichenfolgenarray in Where-Klausel
Ich erwarte die folgende Abfrage Werte in Stkyard
auf Eintrag zu filtern, aber das zurückgegebene Ergebnismenge hat Summe aller Werte in dtTemp
dtQuery = (From row In dtTemp
Group row By grp =
New With {Key .mth = row.Item(1), Key .mthdesc = row.Item(2)} Into Group,
val1 = Sum(Convert.ToDecimal(row.Item(3))), val2 = Sum(Convert.ToDecimal(row.Item(4)))
Where Group.Any(Function(p) Stkyard.Contains(p.Item(0)))
Select New With {grp.mth, grp.mthdesc, val1, val2}
Distinct).ToList
Jede Hilfe?
DonNetFiddle Example
Können Sie eine [.NETFiddle] (https://dotnetfiddle.net/) Beispiel teilen? – aloisdg
@aloisdg Ich habe ein Beispiel in der Post hinzugefügt. – Nilanjan