AutoMapper SourceMemberNameTransformer - PullRequest
       2

AutoMapper SourceMemberNameTransformer

0 голосов
/ 24 августа 2011

Я хотел зарегистрировать пользовательское соглашение об именах для своего свойства в ряде объектов домена и связанных моделях представления.

Объект домена имеет свойство enum PublishStatus, а модель представления имеет логическое свойство Published.

Если я создаю пользовательский SourceMemberNameTransformer как на Как мне заставить AutoMapper работать с пользовательским соглашением об именах? , можно ли просто вернуть исходную строку для свойств, которые не соответствуют PublishStatus

1 Ответ

0 голосов
/ 24 августа 2011

Если я правильно понимаю ваш вопрос, вы, вероятно, захотите ValueResolver. Что-то вроде:

public class PublishStatusResolver : ValueResolver<PublishStatus, bool>
{
    protected override bool ResolveCore(PublishStatus status)
    {
        return status == PublishStatus.Published;
    }
}

Тогда в коде сопоставления вы называете это как:

.ForMember(dto => dto.Published, 
           opt => opt.ResolveUsing<PublishStatusResolver>()
                     .FromMember(src => src.PublishStatus))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...