Я хочу создать отображение следующим образом:
, если у свойства источника есть Id == 0, установите для свойства назначения значение null
если свойство источника имеет Id! = 0, сопоставьте это свойство, используя конфигурацию по умолчанию
Например:
Mapper.CreateMap<ItemViewModel, Item>()
.ForMember(x => x.DestinationArticle, o => o.SetNullIfSourceHasIdZero(x => x.SourceArticle));
Свойства DestinationArticle и SourceArticle имеют видреализации:
public interface IEntity
{
long Id { get; set }
}
Мое текущее решение таково:
.ForMember(x => x.DestinationArticle, o => o.MapFrom(x => x.SourceArticle != null && x.SourceArticle.Id != 0 ? Mapper.Map<Article>(x.SourceArticle) : null))
, что не так хорошо и не является общим.
Итак, есть ли способ создать,упомянутый ранее, метод расширения SetNullIfSourceHasIdZero или что-то, что могло бы облегчить мою жизнь?