diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserGroupRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserGroupRepository.cs index f2a90933bf..03215f1bc8 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserGroupRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserGroupRepository.cs @@ -202,7 +202,16 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement AppendGroupBy(sql); sql.OrderBy(x => x.Id); // required for references - var dtos = Database.FetchOneToMany(x => x.UserGroup2AppDtos, sql); + List dtos = Database.FetchOneToMany(x => x.UserGroup2AppDtos, sql); + + IDictionary> dic = GetAllUserGroupLanguageGrouped(); + + foreach (UserGroupDto dto in dtos) + { + dic.TryGetValue(dto.Id, out var userGroup2LanguageDtos); + dto.UserGroup2LanguageDtos = userGroup2LanguageDtos ?? new(); + } + return dtos.Select(x=>UserGroupFactory.BuildEntity(_shortStringHelper, x)); } @@ -371,6 +380,15 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement return Database.Fetch(query); } + private IDictionary> GetAllUserGroupLanguageGrouped() + { + Sql query = Sql() + .Select() + .From(); + List userGroupLanguages = Database.Fetch(query); + return userGroupLanguages.GroupBy(x => x.UserGroupId).ToDictionary(x => x.Key, x => x.ToList()); + } + #endregion ///