Я искал вокруг, но не нашел эту проблему. Я нашел темы для сопоставления нескольких типов с одним и тем же объектом, но не с этим ... И я не думаю, что это должно быть проблемой.AutoMapper - невозможно сопоставить два типа в одном методе
Когда я впервые сопоставляю EventDto с EventUserViewModel, он работает. Когда я позже на карте EventDto на EventViewModel, он сработает, потому что AutoMapper думает, что я хочу снова отобразить на EvenUserViewModel?
Если я меняю заказ, возникает та же проблема, только обратная.
Предоставление кода здесь; это в основном урезанный пример того, где возникает проблема.
// Mapping an EventDto to a EventUserViewModel
EventUsersViewModel viewModel = Mapper.Map<EventUsersViewModel>(eventService.GetEventDto(id));
// Getting a list of EventDtos
var myEvents = eventService.GetMyEvents(User.Identity.GetUserId(), User.IsInRole(RoleNames.ADMIN_USER));
// Mapping all EventDtos to EventViewModels
List<EventViewModel> eventViewModelList = myEvents.Select(Mapper.Map<EventViewModel>).ToList();
Последняя строка, где она терпит неудачу. AutoMapper пытается сопоставить мои EventDtos с EventUserViewModels вместо EventViewModel, хотя я строго указываю типы.
Я полагаю, это вызвано статическим апи на Mapper. Это было сделано устаревшим в начале года [Удаление статического API из AutoMapper] (https://lostechies.com/jimmybogard/2016/01/21/removing-the-static-api-from-automapper/) –