برای بکارگیری automapper به دو صورت یکی از کلاس استاتیک Mapper استفاده میکینم یا از MapperConfiguration

فرض کنیم دو کلاس داریم Model و ViewModel
کلاس Model سورس هست
یک لیست فرضی میسازیم

var list = new List<Model>
{
new Model { Id = 1, FirstName = "ali" },
new Model { Id = 2, FirstName = "reza" },
};
Mapper.Initialize(cfg => cfg.CreateMap<Model, ViewModel>());
var mapps = Mapper.Map(list, new List<ViewModel>());
foreach (var m in mapps)
{
Console.WriteLine(m.FirstName);
}


میتونید سطر آبی رنگ را در استارت آپ صدا بزنید تا هر بار نیاز به نوشتن آن در قسمهای برنامه نباشید
روش دیگه بکارگیری MapperConfiguration هست


var list = new List<Model>
{
new Model { Id = 1, FirstName = "ali" },
new Model { Id = 2, FirstName = "reza" },
};

var config = new MapperConfiguration(cfg => cfg.CreateMap<Model, ViewModel>());
var mapper = config.CreateMapper();
var mapps = mapper.Map<List<ViewModel>>(list);
foreach (var m in mapps)
{
Console.WriteLine(m.FirstName);
}


روش ارجح تر بکارگیری IMapper هست که باید از تزریق وابستگی استفاده کرد
در این روش باید از یکی IOC های مشهور مانند StructureMap یا Ninject یا Simple Injector یا Unity جهت Register کردن Automapper استفاده میکنیم
منبع یادگیری
http://docs.automapper.org/en/stable...g-started.html