AutoMapper - Массив int в список пользовательских объектов - PullRequest
0 голосов
/ 19 ноября 2018

Начиная с этих примеров:

public class A
{
    public int[] ArrayOfIds { get; set; }
}

public class B
{
    public List<C> MyList { get; set; }
}

public class C
{
    public int Id { get; set; }
}

Я хочу создать отображение из А в B, где B содержит список объектов C, идентифицированных с идентификаторами A.

Какя могу настроить AutoMapper для достижения этой цели?

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете сделать следующее:
1. Создать карту от int до C, чтобы вы могли выполнять кастинг на int[]
2. Создать карту от A до B

A a = new A();
a.ArrayOfIds = new int[] { 1, 2, 3 };
var config = new MapperConfiguration(cfg => {
    cfg.CreateMap<int, C>().ForMember(dest => dest.Id, opts => opts.MapFrom(src => src));
    cfg.CreateMap<A, B>().ForMember(dest => dest.MyList, opts => opts.MapFrom(src => src.ArrayOfIds));
});

IMapper mapper = config.CreateMapper();
var b = mapper.Map<B>(a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...