문제

LINQ to SQL을 사용하면 OrderDetails 컬렉션이 포함된 Order 클래스가 있습니다.Order Details에는 Qnty x ItemPrice를 가져오는 LineTotal이라는 속성이 있습니다.

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

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

도움이 되었습니까?

해결책

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

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

이를 위해 람다 표현식을 사용할 수도 있습니다. 이는 약간 "더 깔끔"합니다.

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

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

Public Partial Class Order {
  ...
  Public Decimal LineTotal {
    get {
      return orderdetailscollection.Sum(od => od.LineTotal);
    }
  }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top