У меня есть следующий код
public class AAA
{
public int Id { get; set; }
}
public class BBB
{
public int Id { get; set; }
public int UpdatedOrCreated { get; set; }
}
[TestMethod]
public void MappingTest2()
{
var _mapperConfiguration = new MapperConfiguration(cfg =>
{
cfg.AddCollectionMappers();
cfg.CreateMap<AAA, BBB>(MemberList.Destination)
.EqualityComparison((a, b) => a.Id == b.Id)
.ForMember(dest => dest.Id, src => src.MapFrom(m => m.Id))
.ForMember(dest => dest.UpdatedOrCreated, /* set value 2 for Updated or 3 for Created */)
.ForAllOtherMembers(m => m.Ignore());
});
_mapperConfiguration.AssertConfigurationIsValid();
var mapper = _mapperConfiguration.CreateMapper();
var varin = new List<AAA>
{
new AAA
{
Id = 1,
},
new AAA
{
Id = 2,
}
};
var varout = new List<BBB>
{
new BBB
{
Id = 1,
}
};
var ttt = mapper.Map(varin, varout);
ttt.Should().HaveCount(2);
ttt[0].Id.Should().Be(1);
ttt[0].UpdatedOrCreated.Should().Be(2);
ttt[1].Id.Should().Be(2);
ttt[1].UpdatedOrCreated.Should().Be(3);
}
Я использую расширения Automapper Collection и хочу установить поле "UpdaterOrCreated" на основе создания нового объекта или обновления существующего объекта. Я не нашел способ сделать это.