با سلام – در این مقاله قصد دارم کلاس کاربردی AutoMapper را به شما کاربران فکر بکر معرفی کنم.
همانطور که میدانیم در صورتیکه دو شیئ از دو کلاس متفاوت داشته باشیم و بخواهیم مقادیر فیلدهای متناظر از یک شیئ را به شیئ دیگری نسبت دهیم معمولا به روش دستی و یک به یک این کار را انجام میدهیم
به عنوان مثال دو کلاس زیر را در نظر بگیرید.
class Person
{
public string fname { get; set; }
public string lname { get; set; }
public string phone { get; set; }
}
class People
{
public string fname { get; set; }
public string lname { get; set; }
public string country { get; set; }
public string phone { get; set; }
}
روش مقداردادن فیلدهای متناظر بصورت دستی به شرح زیر می باشد.
Person p = new Person();
p.fname = "محمد";
p.lname = "مهدوی";
p.phone = "09117879302";
People pe = new People();
pe.fname = p.fname;
pe.lname = p.lname;
pe.phone = p.phone;
اما این روش برای اشیائی که دارای فیلدهای زیادی باشند خسته کننده بنظر میرسد. لذا جهت استفاده از AutoMapper بصورت زیر عمل میکنیم.
ابتدا بر روی پروژه کلیک راست نموده و گزینه Manage Nuget Packages را انتخاب میکنیم و در صفحه باز شده AutoMapper را جستجو و سپس نصب میکنیم.اکنون کلاس مورد نظر به رفرنس برنامه شما افزوده شده و شما میتوانید از امکانات آن استفاده کنید.


با توجه به کدهای زیر.
Person p = new Person();
p.fname = "محمد";
p.lname = "مهدوی";
p.phone = "09117879302";
Mapper.CreateMap<Person, People>();
var pe = Mapper.Map<Person, People>(p);
شیئ pe از نوع people می باشد و شما توانستید مقادیر شیئ person را درون شیئ people قرار دهید.
امیدوارم مورد توجه شما کاربران عزیز قرار گرفته باشد.
شما میتوانید سورس مورد نظر را از قسمت فایلهای ضمیمه شده دریافت نمایید