Как преобразовать оператор Linq Group By и Foreach в один запрос Linq

Есть два варианта:

Вы можете напрямую распечатать ответ, используя print(*a, sep=','), это будет использовать разделитель как «,» вы получите ответ как:

1,2,3

и еще один вариант:

print(','.join(str(x) for x in list(a)))

, это приведет к повторному перечню списка и печати (a) и печати вывода как

1,2,3
0
задан Mauricio Gracia Gutierrez 1 March 2019 в 12:35
поделиться

1 ответ

Без фактической базы данных я не уверен, сработает ли это, но вот моя попытка:

var qryResults =
    (from r in dbContext.Routes
     join br in dbContext.BrokerRoutes on r.RouteId equals br.RouteId
     where br.Broker.ApiKey == apiKey
     join pr in dbContext.RoutePathFilters.Include(x => x.PathFilter) on r.RouteId equals pr.RouteId into paths
     group new { r, paths } by r.RouteId into rprg
     let r = rprg.First().r
     select new RouteTemplate {
         RouteId = rprg.Key,
         Version = r.Version.Version,
         Url = r.Url,
         IsActive = r.IsActive,
         Paths = rprg.Select(rpr => rpr.paths.First().PathFilter.FilterName).ToList()
     })
    .AsNoTracking()
    .ToImmutableList();
0
ответ дан NetMage 1 March 2019 в 12:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: