我有一個查詢,其中包含一組活動。 - 每個活動都可以在多個國家完成,因此該活動具有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