C# LINQ JOIN+;分组依据+;总和

C# LINQ JOIN+;分组依据+;总和,c#,linq,group-by,sum,aggregate,C#,Linq,Group By,Sum,Aggregate,我有两个LINQ声明,我想把它们合并成一个,但就我的一生而言,我无法让它们发挥作用 我无法在第一个语句中使分组工作。 它抱怨那里没有TotalBuy和TotalSell属性,尽管它没有抱怨AmountTC和amountud 这应该很简单。有什么想法吗 var itineraryItems = from ii in this.ItineraryItemRecords join t in this.TransactionRecords on ii.OperatorID equals

我有两个LINQ声明,我想把它们合并成一个,但就我的一生而言,我无法让它们发挥作用

我无法在第一个语句中使分组工作。 它抱怨那里没有
TotalBuy
TotalSell
属性,尽管它没有抱怨
AmountTC
amountud

这应该很简单。有什么想法吗

var itineraryItems =
    from ii in this.ItineraryItemRecords
    join t in this.TransactionRecords on ii.OperatorID equals t.
    TransactionActor.OperatorID into g select new {
    OperatorID = ii.OperatorID, TotalBuy = g.Sum(i = >ii.TotalBuy)
        , TotalSell = g.Sum(i = >ii.TotalSell)
        , PaidTC = (0 - (g.Sum(t = >t.AmountTC)))
        , PaidAUD = (0 - (g.Sum(t = >t.AmountAUD)))
};

var itineraryItemz =
    from i in itineraryItems group i by i.OperatorID into g select new {
    OperatorID = g.Key, TotalBuy = g.Sum(i = >i.TotalBuy)
        , TotalSell = g.Sum(i = >i.TotalSell)
        , PaidTC = (0 - (g.Sum(i = >i.PaidTC)))
        , PaidAUD = (0 - (g.Sum(i = >i.PaidAUD)))
};
作为旁注,
行程项目记录
交易记录
是由
亚音速
处理的类集合

这真的应该很简单,所以任何帮助都将不胜感激

问候,,
John

一个小错误,已更正:

var itineraryItems = from ii in this.ItineraryItemRecords 
   join t in this.TransactionRecords on ii.OperatorID equals t.TransactionActor.OperatorID 
   into g 
   select new 
   { 
       OperatorID = ii.OperatorID 
       //, TotalBuy = g.Sum(i => ii.TotalBuy) 
       , TotalBuy = g.Sum(i => i.TotalBuy) 
       //, TotalSell = g.Sum(i => ii.TotalSell) 
       , TotalSell = g.Sum(i => i.TotalSell) 
       , PaidTC = (0 - (g.Sum(t => t.AmountTC))) 
       , PaidAUD = (0 - (g.Sum(t => t.AmountAUD))) 
   }; 

我建议不要重复使用标识符-这将有助于避免将来出现这些错误。

@JohnBob-我用c#tag重新标记了您的问题,这样可能会引起更多的注意,因为还没有人回应。嘿,我感谢你们两位的帮助,谢谢你们的评论。不幸的是,我已经抛出了这段代码,但它不起作用。它抱怨TotalBuy和TotalSell。“无法解析符号TotalBuy”'ResSystem.Library.Objects.Transaction'不包含'TotalBuy'的定义,并且找不到接受'ResSystem.Library.Objects.Transaction'类型的第一个参数的扩展方法'TotalBuy'。我的语法有什么问题吗?没关系。最后,我将其分为三个独立的查询。两个GROUPBY查询,然后一个连接这两个GROUPBY查询。