Jawaban:
Gunakan kelebihan yang mengambil tujuan yang ada:
Mapper.Map<Source, Destination>(source, destination);
Ya, itu mengembalikan objek tujuan, tapi itu hanya untuk beberapa skenario tidak jelas lainnya. Itu adalah objek yang sama.
Untuk membuat ini berfungsi, Anda harus membuat MapMap untuk jenis sumber dan tujuan meskipun jenisnya sama. Itu berarti jika Anda ingin,
Mapper.Map<User, User>(user1, user2);
Anda perlu membuat peta seperti ini
Mapper.Create<User, User>()
Jika Anda ingin menggunakan metode instan IMapper, daripada metode statis yang digunakan dalam jawaban yang diterima, Anda dapat melakukan yang berikut (diuji dalam 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
sekarang akan diperbarui dengan semua nilai properti src
yang dibagikannya. Nilai properti uniknya akan tetap sama.