Automapper: двунаправленное отображение с ReverseMap () и ForMember ()

У меня есть случай, когда я хочу сопоставить сущность с моделью представления и обратно. Я должен указать отображение явно с ForMember (), потому что их свойства не имеют одинаковые имена. Вот краткий пример того, как выглядят мои классы:

public class PartTwo {
    public int Integer { get; set; }
}

public class PartTwoViewModel {
    public int PartInteger { get; set; }
}

И я хочу использовать их таким образом:

Mapper.CreateMap()
    .ForMember(dst => dst.PartInteger, opt => opt.MapFrom(src => src.Integer))
    .ReverseMap();

var partTwoViewModel = new PartTwoViewModel() { PartInteger = 42 };
var partTwo = Mapper.Map(partTwoViewModel);
Assert.AreEqual(partTwoViewModel.PartInteger, partTwo.Integer);

Но оно не соответствует свойству PartInteger для Integer. (Целое число равно 0.)

Есть ли способ сделать эту работу? (Когда свойства обоих классов имеют одинаковые имена, это работает.) Нужно ли устанавливать какой-то параметр в методе ForMember ()?

Ответы на вопрос(2)

Ваш ответ на вопрос