У меня есть специальный конвертер, который отображает строку в другую строку. Смысл этого отображения - заменить пустые строковые значения пробелом (""). В моем сценарии я не хочу нулевые значения, поэтому я настроил следующее отображение:
CreateMap<string, string>().ConvertUsing<NullStringToWhitespaceConverter>();
Преобразователь NullStringToWhitespaceConverter
выглядит следующим образом:
public class NullStringToWhitespaceConverter : ITypeConverter<string, string>
{
public string Convert(string source, string destination, ResolutionContext context)
=> string.IsNullOrEmpty(source) ? " " : source;
}
Я былранее в AutoMapper версии 6.xx, но это сопоставление работало, однако я только что обновил его до версии 9.xx и теперь не работает и выдает следующее исключение при запуске:
Метод не найден: 'Void AutoMapper.IMappingExpression`2.ConvertUsing () '.
К вашему сведению - я настраиваю AutoMapper с помощью пакета .NET Core DI Nuget следующим образом:
services.AddAutoMapper(
typeof(CoreModelMapper)
);
У меня также естьпроверил руководства по обновлению, но не вижу причины, по которой теперь это может быть сломано в зависимости от того, что там есть (http://docs.automapper.org/en/stable/8.0-Upgrade-Guide.html).