Есть два способа, которые сразу приходят на ум:
1) ValueConverter
public class MarkDownToHtmlConverter : IValueConverter<string, string>
{
public string Convert(string sourceMember, ResolutionContext context)
{
// Convert to HTML here
string html = sourceMember;
return html;
}
}
cfg.CreateMap<Entity, EntityViewModel>()
.ForMember(x => x.Description, opt => opt.ConvertUsing(new MarkDownToHtmlConverter()));
2) AfterMap
public class HtmlToMarkdownAction : IMappingAction<Entity, EntityViewModel>
{
public void Process(Entity source, EntityViewModel destination)
{
destination.Description = source.Description; // Convert to HTML
}
}
cfg.CreateMap<Entity, EntityViewModel>()
.AfterMap<HtmlToMarkdownAction>();
Мое мнение об этом, хотячто преобразование должно происходить где-то еще во время отображения, например, в Razor.Не похоже, что работа картографа заключается в том, чтобы делать этот тип преобразования ... это только мое мнение.