
پروفایل سفارشی در AutoMapper
Profile در AutoMapper یک کلاس است که به شما امکان میدهد قوانین نگاشت – Mappings خود را مدیریت کنید. با تعریف یک پروفایل سفارشی در AutoMapper، میتوانید قوانین نگاشت را برای گروهی از کلاسها یا سناریوها به صورت متمرکز سازماندهی کنید. با قسمت چهارم از فصل ششم دوره پیشرفته Entity Framework Core 9 با ما همراه باشید.
چرا از پروفایل سفارشی در AutoMapper استفاده کنیم؟
- سازماندهی بهتر: به جای نگاشتهای پراکنده، همه را در یک کلاس منظم تعریف میکنید.
- قابلیت نگهداری بالا: در پروژههای بزرگ، نگاشتها را میتوان به چندین Profile تقسیم کرد.
- جلوگیری از تکرار: قوانین مشترک بین چندین نگاشت را میتوان به راحتی مدیریت کرد.
مراحل ایجاد یک Custom Profile در AutoMapper
- مرحله یک : یک و یا چند کلاس جدید ایجاد کنید و از کلاس پایه Profile ارثبری کنید. میتوانید برای هر Entity Model خود یک کلاس ایجاد کنید. در متد سازنده – Constructor، نگاشتها را تعریف کنید.
public class ManagerProfile : Profile
{
public ManagerProfile()
{
CreateMap<Manager, ManagerViewModel>();
CreateMap<Manager, ManagerFormViewModel>().ReverseMap();
//CreateMap<ManagerFormViewModel, Manager>();
}
}- مرحله دو : Profile های خود را در Dependency Injection باید ثبت کنیم. در فایل Program مانند کد زیر آنها را ثبت میکنیم.
builder.Services.AddAutoMapper(typeof(ManagerProfile), typeof(DeveloperProfile));بسیاری از توسعهدهندگان گزارش کردهاند. که استفاده از AutoMapper و Custom Profile باعث افزایش سرعت توسعه و کاهش خطاهای انسانی شده . همچنین قابلیتهای پیشرفته AutoMapper مانند ProjectTo که برای نگاشت مستقیم با LINQ استفاده میشود. و Validation که برای اطمینان از صحت نگاشت استفاده میشود. با این حال، باید به این نکته توجه داشت که AutoMapper برای تمام سناریوها مناسب نیست. در مواردی که نگاشت بسیار ساده و واضح است، استفاده از روش دستی ممکن است بهینهتر باشد.
AutoMapper و قابلیت Custom Profile به توسعهدهندگان این امکان را میدهند که با کمترین تلاش، نگاشتهای دقیق و پیچیدهای بین مدلهای مختلف ایجاد کنند. این ابزار نه تنها توسعهی سریعتر و آسانتر را فراهم میکند، بلکه باعث کاهش خطا و بهبود کیفیت کد میشود. اگر در پروژهی خود با نگاشتهای زیادی سروکار دارید، پیشنهاد میشود AutoMapper را به عنوان بخشی از معماری خود استفاده کنید و نگاشتها را در قالب Custom Profile مدیریت کنید.































فرم افزودن دیدگاه
با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.