我有两个LINQ语句,我想将它们合并为一个,但对于我的生活,我无法实现它。我不能让分组在第一个语句中工作。 它抱怨TotalBuy
和TotalSell
属性不存在,虽然不抱怨AmountTC
和AmountAUD
。LINQ JOIN + GROUP BY + SUM
这应该很简单。有什么想法吗?
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)))
};
作为边注,ItineraryItemRecords
和TransactionRecords
是由SubSonic
处理类类别。
这真的应该很简单,所以任何帮助,将不胜感激。
问候, 约翰
@JohnBob - 我用c#标签重新标记了您的问题,以便它可能会得到更多的注意,因为没有人回复。 – dugas 2010-02-22 14:44:01