У меня есть случай, когда я хочу отобразить сущность в viewmodel и обратно. Я должен явно указать отображение с помощью ForMember(), потому что их свойства не имеют одинаковых имен. Вот краткий пример того, как выглядят мои классы:
public class PartTwo {
public int Integer { get; set; }
}
public class PartTwoViewModel {
public int PartInteger { get; set; }
}
И я хочу использовать их следующим образом:
Mapper.CreateMap<PartTwo, PartTwoViewModel>()
.ForMember(dst => dst.PartInteger, opt => opt.MapFrom(src => src.Integer))
.ReverseMap();
var partTwoViewModel = new PartTwoViewModel() { PartInteger = 42 };
var partTwo = Mapper.Map<PartTwoViewModel, PartTwo>(partTwoViewModel);
Assert.AreEqual(partTwoViewModel.PartInteger, partTwo.Integer);
Но он не соответствует свойству PartInteger Integer. (Целое число равно 0.)
Есть ли способ сделать эту работу? (Когда свойства обоих классов имеют одинаковые имена, он работает.) Должен ли я устанавливать какую-то опцию в методе ForMember()?