0
나는 이것을 가지고있다 : 나는 데이터 주문서와 주소가있는 세 개의 목록을 가지고있다.Linq 가입, 그룹 및 합계
이 목록에 가입하고 싶습니다.
Contents = from o in Orders
join a in addresses on o.DeliveryAddressId equals a.AddressId
//join ol in ordersLines on o.OrderId equals ol.OrderId
let ol = ShopOrderLines.Where(x=>x.OrderId == o.OrderId)
select new Order
{
OrderId = o.OrderId,
CreatedDate = o.CreatedDate,
Status = o.Status,
CustomerComment = o.CustomerComment,
AdminComment = o.AdminComment,
PaymentType = (PaymentType) o.PaymentStatus,
PaymentStatus = (PaymentStatus) o.PaymentType,
Firstname = a.Firstname,
Lastname = a.Lastname,
Sum = ol.Any() ? ol.Sum(x=>x.Quantity * x.Price) : 0
};
잘 작동하지만 각 주문에 대한 orderLines의 합계도 추가하고 싶습니다.
이와 비슷한 것. sum = (ol.Vat * ol.Quantity) + (ol.Quantity + ol.Price)
결과를 그룹화해야한다고 생각하십니까?
누구나?
그건 나에게 맞지 않습니다. * 각 주문 행 * 및 각 주소에 대한 새'Order' 인스턴스를 만듭니다. 따라서 하나의 주문에 두 개의 주소와 두 개의 주문 행이있는 경우 4 개의 Order 객체를 생성하게됩니다. 그룹 가입을 원하지 않습니까? –
참고로 'PaymentType = (PaymentType) o.PaymentStatus'및'PaymentStatus = (PaymentStatus) o.PaymentType '이라는 두 가지 속성을 잘못 지정 한 것처럼 보입니다. 오타처럼 보입니다. 속성이 서로 바뀝니다. – Jupaol
그리고 Order 클래스에 'Address DeliveryAddress' 속성이 없습니까 (그리고'IList OrderLines' 또는 그와 비슷한 것)? –