Есть IValueResolver
public class MyValueResolver : IValueResolver<Entity, Dto, List<InnerDto>>
{
private readonly IService _service;
public MyValueResolver(IService service)
{
_service = service;
}
public List<InnerDto> Resolve(
Entity source,
Dto destination,
List<InnerDto> destMember,
ResolutionContext context)
{
IEnumerable<InnerDto> innerDtos =
_service.GetAsync(/*...*/).Result; // .Result block thread.
return innerDtos.ToList();
}
}
В теле Resolve есть вызов асинхронного метода. Сейчас можно использовать свойство .Result, однако это блокирует поток что не есть хорошо.
Если какой либо аналог асинхронный IValueResolver. Асинхронный IMappingAction тоже будет отлично.
Update: Используется это так:
CreateMap<Entity, Dto>()
.ForMember(x => x.InnerDtos, opt => opt.MapFrom<MyValueResolver>());
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости