AutoMapper کتابخانهای برای نگاشت اطلاعات یک شیء به شیءایی دیگر به صورت خودکار میباشد.
در این مقاله چگونگی رسیدگی به Null propertyرا در AutoMapper بررسی خواهیم کرد. فرض کنید شیء منبع دارای یک خاصیت Null است و میخواهید به وسیله Automaperشیء منبع را به مقصد نگاشت نمایید. اما میخواهید در صورت Nullبودن شیء مبدا، یک مقدار پیش فرض برای شیء مقصد در نظر گرفته شود .
برای نمونه کلاسuser را که در آن از کلاس Addressیک خاصیت تعریف شده، در نظر بگیرید. اگر مقدار آدرس در شیء منبع خالی بود شاید شما بخواهید مقدار آن را به صورت empty stringو یا با یک مقدار پیش فرض در مقصد مقدار دهی کنید.
همانند مثال زیر :
public class UserSource { public Address Address{get;set;} } public class UserDestination { public string Address{get;set;} }
AutoMapper.Mapper.CreateMap<UserSource, UserDestination>() .ForMember(dest => dest.Address , opt => opt.NullSubstitute("Address not found") );
var model = AutoMapper.Mapper.Map<UserSource, UserDestination>(user); var models = AutoMapper.Mapper.Map<IEnumerable<UserSource>, IEnumerable<UserDestination>>(users);