C# LINQ JOIN+;分组依据+;总和
我有两个LINQ声明,我想把它们合并成一个,但就我的一生而言,我无法让它们发挥作用 我无法在第一个语句中使分组工作。 它抱怨那里没有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
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查询。