Контекст
У меня есть List<UserViewModel>
, заполненный из базы данных моей компании, в нем есть некоторые пустые значения, которые должны быть заполнены List<UserDTO>
, поступающим из API другой компании. Как видите, у меня есть два заполненных списка, но второй список используется для заполнения некоторых пустых свойств из первого, оба списка имеют одинаковый уникальный идентификатор int Id
, поэтому UserViewModel.Id == UserDTO.Id
.
Вопрос
Как я могу сделать так, чтобы автомаппер знал, что UserViewModel
может быть завершено с помощью UserDTO
и получить простую карту вроде:
List<UserViewModel> _users = Database.GetUsers();
List<UserDTO> _usersAditionalInfo = api.GetUsersInfo();
automapper.Map(_users, _usersAditionalInfo) //Where Id1 == Id2
Без чего-то вроде :
_users.ForEach(user =>
{
user = automapper(user, _usersAditionalInfo.FirstOrDefault(wh => wh.Id == user.Id));
});
Ps: Этот код является примером, поэтому не фокусируйтесь на нем.