Yanıtlar:
Mevcut hedefi alan aşırı yükü kullanın:
Mapper.Map<Source, Destination>(source, destination);
Evet, hedef nesneyi döndürür, ancak bu sadece diğer belirsiz senaryolar içindir. Aynı nesne.
Bu işi yapmak için aynı türden olsalar bile, kaynak ve hedef türleri için CreateMap gerekir. Bu, şu şekilde bir Mapper.Map<User, User>(user1, user2);
harita oluşturmanız gerektiği
anlamına gelir
Mapper.Create<User, User>()
Kabul edilen yanıtta kullanılan statik yöntem yerine IMapper örnek yöntemini kullanmak istiyorsanız, aşağıdakileri yapabilirsiniz (test edildi AutoMapper 6.2.2
)
IMapper _mapper;
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<Source, Destination>();
});
_mapper = config.CreateMapper();
Source src = new Source
{
//initialize properties
}
Destination dest = new dest
{
//initialize properties
}
_mapper.Map(src, dest);
dest
artık src
paylaştığı tüm özellik değerleriyle güncellenecek . Eşsiz özelliklerinin değerleri aynı kalacaktır.