У меня есть ситуация, когда AutoMapper не работает должным образом с игнорированием членов.Вот структура класса и сопоставления.
public class Class1 {
public Class2 Class2 { get; set; }
}
public class Class2 {
public List<Class3> class3List { get; set; }
}
Mapper.CreateMap<Class1, Class1>();
Mapper.CreateMap<Class2, Class2>
.ForMember(dest => dest.class3List, opt => opt.Ignore());
Mapper.CreateMap<Class3, Class3>();
И когда я сопоставляю Class1 с Class1
Mapper.Map<Class1, Class1>(object1, object2);
В объекте 2 class3List пуст, но до сопоставления у него были элементы.Если я сделаю сопоставление следующим образом.
Mapper.CreateMap<Class1, Class1>();
.ForMember(dest => dest.Class2, opt => opt.Ignore());
Mapper.CreateMap<Class2, Class2>();
Mapper.CreateMap<Class3, Class3>();
Он игнорирует свойство Class2, как и должно.Так как я могу игнорировать class3List и не очищать его при отображении Class1 в Class1?