it-swarm-eu.dev

Summe der Elemente in einer Sammlung

Unter Verwendung von LINQ to SQL habe ich eine Order-Klasse mit einer Sammlung von OrderDetails. Die Bestelldetails haben eine Eigenschaft namens LineTotal, die Qnty x ItemPrice erhält.

Ich weiß, wie man eine neue LINQ-Abfrage der Datenbank durchführt, um die Gesamtsumme der Bestellung zu ermitteln. Da ich jedoch bereits die Sammlung von Bestelldetails aus der Datenbank habe, gibt es eine einfache Methode, um die Summe der LineTotal direkt aus der Sammlung zurückzugeben?

Ich möchte die Bestellsumme als Eigenschaft meiner Bestellklasse hinzufügen. Ich stelle mir vor, ich könnte die Sammlung durchlaufen und die Summe mit a für jede Bestellung berechnen.

70
Adrian

Sie können LINQ to Objects ausführen und mithilfe von LINQ die Gesamtsummen berechnen:

decimal sumLineTotal = (from od in orderdetailscollection
select od.LineTotal).Sum();

Sie können dazu auch Lambda-Ausdrücke verwenden, was etwas "sauberer" ist.

decimal sumLineTotal = orderdetailscollection.Sum(od => od.LineTotal);

Sie können dies dann wie folgt an Ihre Order-Klasse anschließen:

Public Partial Class Order {
  ...
  Public Decimal LineTotal {
    get {
      return orderdetailscollection.Sum(od => od.LineTotal);
    }
  }
}
157
Espo