Как группа ПОДГРУППЫ создать список континентов, где каждый континент имеет свои графства и каждую страна имеет свои собственные города, как эта таблицаLINQ: Группировка Подгруппа
Вот T-SQL:
select Continent.ContinentName, Country.CountryName, City.CityName
from Continent
left join Country
on Continent.ContinentId = Country.ContinentId
left join City
on Country.CountryId = City.CountryId
и результат T-SQL:
Я попытался это, но он группирует данные в неправильном направлении мне нужно сгруппировать так же, как выше таблице
var Result = MyRepository.GetList<GetAllCountriesAndCities>("EXEC sp_GetAllCountriesAndCities");
List<Continent> List = new List<Continent>();
var GroupedCountries = (from con in Result
group new
{
con.CityName,
}
by new
{
con.ContinentName,
con.CountryName
}
).ToList();
List<Continent> List = GroupedCountries.Select(c => new Continent()
{
ContinentName = c.Key.ContinentName,
Countries = c.Select(w => new Country()
{
CountryName = c.Key.CountryName,
Cities = c.Select(ww => new City()
{
CityName = ww.CityName
}
).ToList()
}).ToList()
}).ToList();
Это группируется не по-другому? Каким образом это неправильно? –
Я даже не вижу группу в T-SQL. – juharr
Думаю, вам придется снова сгруппировать в проекции первых групп: 'Result.GroupBy (x => x.ContinentName). Выберите (g => g.GroupBy (x => x.CountryName))'. –