برای بکارگیری 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