Hallo Norman,
vielen Dank für Deine Hilfe.
Die folg. Zeile funktioniert nach einem ersten Test super.
C#-Quelltext
1:
| Jahresbeitrag = grp.Sum (r => Convert.ToDecimal(r["Monatsbeitrag"] == DBNull.Value ? 0 : r["Monatsbeitrag"])) |
Die Variante mit der Where-Klausel ist allerdings für mich nicht optimal.
Grund:
Wenn ich eine zweite Spalte habe, die ich zusätzlich summieren möchte, erhalte ich falsche Werte. Denn es werden ja mit der Where-Klausel schonmal alle Datensätze rausgefiltert, bei denen das Feld "Moantsbeitrag" == null ist; obwohl ein weiteres zu summierendes Feld event. Werte enthält.
Auf mein gegebenes Beispiel ist es aber natürlich so auch richtig.
Kannst Du mir den Teil hinter dem Gleichheitszeichen noch erläutern? "DBNull.Value ? 0 : r["Monatsbeitrag"]))"
Insbesondere die Syntax mit "? 0 :r" kenne ich leider nicht und konnte ich auch in keinem meiner Bücher finden.
Gruß
Frank
Moderiert von
Th69: C#-Tags hinzugefügt