it-swarm-ko.tech

컬렉션의 항목 합계

LINQ to SQL을 사용하여 OrderDetails 컬렉션이있는 Order 클래스가 있습니다. 주문 세부 정보에는 LineTotal이라는 속성이 있으며 Qnty x ItemPrice를 가져옵니다.

주문 총계를 찾기 위해 데이터베이스의 새로운 LINQ 쿼리를 수행하는 방법을 알고 있지만 이미 DB에서 OrderDetails 컬렉션을 가지고 있으므로 컬렉션에서 직접 LineTotal의 합계를 반환하는 간단한 방법이 있습니까?

주문 총계를 내 주문 클래스의 속성으로 추가하고 싶습니다. 컬렉션을 반복하고 각 Order.OrderDetail에 대한 합계를 계산할 수 있다고 생각하지만 더 나은 방법이 있다고 생각합니다.

70
Adrian

LINQ to Objects를 사용하고 LINQ를 사용하여 총계를 계산할 수 있습니다.

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

람다 표현식을 사용하여이 작업을 수행 할 수도 있습니다.

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

원하는 경우 다음과 같이 주문 클래스에 연결할 수 있습니다.

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