使用linq从差异表中选择总和列
这是我的linq代码使用linq从差异表中选择总和列,linq,group-by,sum,Linq,Group By,Sum,这是我的linq代码 ( from Order o in masterRepository.Orders.Where(x => x.IsDeleted == false) join OrderItem oi in masterRepository.OrderItems on o.OrderID equals oi.OrderID group oi by new {o.StoreID, o.CreatedOn.Year, o.C
( from Order o in masterRepository.Orders.Where(x => x.IsDeleted == false)
join OrderItem oi in masterRepository.OrderItems on o.OrderID equals oi.OrderID
group oi by new {o.StoreID, o.CreatedOn.Year, o.CreatedOn.Month, StoreNmae="Test" } into g
select new ST_SalesOrder
{
Year = g.Key.Year,
Month = g.Key.Month,
StoreID = g.Key.StoreID,
StoreName = "SA",
SubTotal = g.Sum(o => o.SubTotal),
Shipping = g.Sum(o => o.ShippingPrice),
Tax = g.Sum(o => o.Tax),
TotalAmount = g.Sum(o => o.Total),
TotalCount = g.Sum(oi => oi.Quantity)
}).OrderBy("Year desc, Month desc, StoreName").ToList();
问题是。。
我需要从Order表和OrderItem表中获取总和数据。
但我只能使用一个表进行分组
如果我按…分组。。。。然后TotalCount=g.Sum(oi=>oi.Quantity)
o.SubTotal),
装运=总金额(o=>o.ShippingPrice),
Tax=g.Sum(o=>o.Tax),你可以
group new { Item = oi, Order = o } by new {o.StoreID, o.CreatedOn.Year, o.CreatedOn.Month, StoreNmae="Test" } into g
那你就可以算数了
g.Sum(o => o.Order.Total)
及
你可以
group new { Item = oi, Order = o } by new {o.StoreID, o.CreatedOn.Year, o.CreatedOn.Month, StoreNmae="Test" } into g
那你就可以算数了
g.Sum(o => o.Order.Total)
及