分组依据 Entity Framework
Group By Entity Framework
我有两个名为 "Orders" 和 "OrderItems" 的表,它们有以下列
订单
订单号,
订购日期,
订单类型,
订单商品
物品编号,
订单号,
价格,
我需要 return OrderId、OrderDate、OrderType 和价格总和。但是我似乎找不到一个很好的例子来说明如何在 linq to entities 中执行此操作。
有人能帮忙吗?
编辑
为了清楚起见,我需要为每个订单显示一行,价格是该订单所有订单项目的总和。
假设有 3 个订单 ID:1,2,3
并且有 3 个订单项目,如下所述:
- 编号=1,订单编号=1,价格=12
- 编号=2,订单编号=1,价格=13
ID=3,OrderID=3,Price=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将select求和如下
- 订单编号:1,Sum:25
- 订单编号:2,Sum:0
- 订单编号:3,Sum:14
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)
});
也许你可以尝试这样的事情。
我有两个名为 "Orders" 和 "OrderItems" 的表,它们有以下列
订单
订单号, 订购日期, 订单类型,
订单商品
物品编号, 订单号, 价格,
我需要 return OrderId、OrderDate、OrderType 和价格总和。但是我似乎找不到一个很好的例子来说明如何在 linq to entities 中执行此操作。
有人能帮忙吗?
编辑
为了清楚起见,我需要为每个订单显示一行,价格是该订单所有订单项目的总和。
假设有 3 个订单 ID:1,2,3 并且有 3 个订单项目,如下所述:
- 编号=1,订单编号=1,价格=12
- 编号=2,订单编号=1,价格=13
ID=3,OrderID=3,Price=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将select求和如下
- 订单编号:1,Sum:25
- 订单编号:2,Sum:0
- 订单编号:3,Sum:14
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)
});
也许你可以尝试这样的事情。