使用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

这是我的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.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)