Новый для Autopper, так что, если это тривиально, я был бы признателен за понимание, пожалуйста ... У меня есть JSON для чтения в объект DTO, который имеет такую структуру TopObject-> GeneralContainer-> SubObjectCompleteContainer-> ListsOfCompletePartsOfTopObject
(а также TopObject-> GeneralContainer-> SubObjectIncompleteContainer-> ListsOfIncompletePartsOfTopObject
, но яугадывание решения для первого было бы аналогичным для второго), которое я хотел бы отобразить на (два многократных) объекта модели представления, содержащих верхний объект вместе с некоторыми данными из контейнерных и только эти списки деталей без этих внутри контейнеров. Итак, чтобы упростить, один объект, содержащий список полных, а другие неполные части, таким образом, эффективно сглаживает эти контейнеры и извлекает только некоторую общую информацию Id / описания из этих объектов-контейнеров ... это даже возможно и как угодно, поскольку я пыталсясоздать карту с помощью linq, но если мои внутренние объекты зависят от идентификатора из верхнего объекта, как получить этот идентификатор во внутреннем отображении ...
Это то, что я думал, но проблема, скажем такСвойство имени отдельной детали. Я получаю сопоставленное свойство только из первого в списке из-за FirstOrDefault ():
cfg.CreateMap<TopObjectDTO, CompleteTopObjectViewModel>()
.ForMember(dest => dest.Name, opts => opts.MapFrom(src => src.FullContainer.CompletedParts.Where(x => x.TopObjectId == src.Id).FirstOrDefault().Name)));
Мне нужно указать его, чтобы отобразить внутренний объект на viemodel, нодля его внутреннего списка деталей просто наметьте соответствующий объект и сделайте это как по внешнему, так и по внутреннему объекту.