مپینگ به روش IHaveCustomMappings
در مدل IHaveCustomMappings علاو بر مپ کردن فیلد های همنام، شما می توانید هر فیلد از مدل مبدا را به دستوارت Linq مپ کنید. در این صورت مپ شما شامل کانفیگ می باشدکه در پایین مدل انجام می شود. این روش بسیار انعطاف پذیر می باشد. هر آن چه را با دستوارت Linq بتوان برای یک موجودیت نوشت با این نوع مپینگ می توان نوشت. یک نمونه مپینگ در زیر آمده که یک آبجکت از AppUser به AppUserDto مپ می کند و علاوه بر آن سطوح دسترسی و نقش ها نیز مپ می شوند. در بخش گزارش گیری از مپینگ های پیچیده برای گزارش استفاده خواهیم کرد.
توابع ConvertTo و ProjectTo
برای کمک در عملیات مپینگ می توان یک آبجکت یا لیستی از آبجکت ها را بدون هیچ محدودیتی به یک یا لیستی از ویو مدل ها تبدیل نمود و از IMapFrom و IHaveCustomMappings نیز برای کانفیگ عملیات مپینگ استفاده نمود. (MapperInstance یک نمونه از AutoMapper در تمام سرویس ها به صورت پیشفرض است) برای مثال ما یک ویو مدل با نام TestMappingVm ساخته ایم که برای کانفیگ عملیلات مپینگ از IHaveCustomMappings استفاده می کند که نتیجه یک کوئری از موجودیت AppUser را به این ویو مدل با کمک ConvertTo و ProjectTo مپ می کنیم .
یکی از مهمترین مشخصه های فریم ورک AUA امنیت بالای آن می باشد . امنیت و پرفرمنس همیشه در مقابل هم بوده اند. تیم امنیتی هیلتن با تلاش زیاد یک راه بسیار مناسب برای بالا بردن امنیت طراحی نموده که پرفرمنس آن نیز حفظ می شود و در فریم ورک AUA از آن استفاده نموده ایم.
دانلود از وبسایتwww.auaframework.com