我有一个查询,其中包含一组活动。 - 每个活动都可以在多个国家完成,因此该活动具有ActivityCountries的子集合。 - 每个ActivityCountry都与国家/地区表关联,以便获取国家/地区名称。 - 每个活动都有一个名为BudgetTotal的字段。GroupBy嵌套子集合中的属性
我需要在ActivityCountries子集合中的CountryCode上进行分组的集合,并通过分组国家向我返回Sum(BudgetTotal)和CountryName。 我从我的活动列表开始(因为页面上的过滤器,此列表可能会发生变化,这就是为什么我想要重新使用此收藏夹的原因)。
var activities = GetFilteredActivities();
然后我尝试让所有活动的列表,并ActivityCountries
var countries = activities.SelectMany(a => a.ActivityCountries);
简化它,然后我试着将它们分组由COUNTRYCODE并返回国家或地区名称和总和(BudgetTotal)。这是我遇到问题的地方。 我已经试过:
var b = countries.GroupBy(g => g.CountryCode)
.Select new
{
CountryName = <something>.Country.CountryName,
Total = Sum(<something>.BudgetTotal)
}
我知道这不工作,但我试图找出如何让国名,并从这里的总和(BudgetTotal)。我还必须对Sum(BudgetTotal)的OrderByDescending。我见过很多例子,但没有一个适合我需要的例子。
感谢杰夫。这就是诀窍! – devguy