LINQ 쿼리의 결과에 다른 "행"을 쉽게 추가 할 수 있도록 쿼리 결과를 보관할 클래스를 만드는 것이 좋습니다. 그런 다음 결과를 목록으로 변환하고 세금을 계산 한 다음 세금을 클래스의 개체로 추가 할 수 있습니다.
public class OrderSummary
{
public string Description { get; set; }
public decimal Amount { get; set; }
}
var taxRate = ...
var orderSummary = db.Orders.Where(o => o.ID == id)
.Select(o => new OrderSummary
{
Description = o.Product
.Details
.Description,
Amount = o.Qty * o.Product.Price
})
.ToList();
var tax = new OrderSummary
{
Description = "Tax",
Amount = orderSummary.Sum(o => o.Amount * taxRate);
};
orderSummary.Add(tax);
그런 다음 설명을 키로 사용하고 금액을 값으로 사용하여 컨트롤을 바인딩 할 수 있습니다.
이것은 제대로 작동하는 것 같습니다. 한 가지 질문은 제품 테이블과 관련된 주문 세부 테이블에서 결과를 얻고 있으므로 설명에 도달하려면 orderSummary.Product.Description = "Tax"를 수행해야합니다. 내가 할 수 있니? 내가 그것을 추가 할 때 작동하지 않습니다. –
내가 설명한대로 새로운 수업을 듣고 있습니까? 간접 지정을 반영하기 위해 예제를 업데이트하겠습니다. – tvanfosson
현재 주문 세부 객체를 반환하는 함수가 있지만 쉽게 사용할 수 있으면 클래스를 변경할 수 있습니다. –