我有一个名为" Orders"和" OrderItems"他们有以下专栏
的OrderId, 订购日期, 订单类型,
项目Id, 的OrderId, 价格,
我需要返回OrderId,OrderDate,OrderType和价格总和。但是,我似乎找不到如何在linq中实现这一点的一个很好的例子。
有人可以帮忙吗?
修改
为了清楚起见,我需要为每个订单显示一行,价格是该订单所有订单商品的总和。
答案 0 :(得分:1)
假设有3个订单ID:1,2,3 如下所述,有3个订单项目:
ID = 3,OrderID = 3,价格= 14
var carts = (from Cart o in Context.Orders
join oi in Context.OrderItems on o.Id equals oi.OrderId into orderItems
select new
{
o.Id,
o.OrderDate,
o.OrderType,
sum = orderItems.Sum(p=> p.Price)
}).ToList();
上面提到的linq将选择总和,如下所述
答案 1 :(得分:0)
context.Orders.Include(order => order.OrderItems).Select(order => new {
OrderId = order.OrderId,
OrderDate = order.OrderDate,
Ordertype = order.OrderType,
TotalPrice = i.OrderItems.Sum(orderItem => orderItem.Price)
});
也许你可以尝试这样的事情。