У меня проблема с преобразованием длинного значения в enum с помощью automapper. Если я ничего не делаю, я получаю исключение
Отсутствует конфигурация карты типов или неподдерживаемое отображение.
Типы отображения: Int64 -> SomeEnum
Так что, если я добавлю конфигурация отображения это работает
public enum B
{
F1,
F2
}
public class A
{
public B FieldB { get; set; }
}
class Program
{
static void Main(string[] args)
{
var autoMapper = new Mapper(new MapperConfiguration(expression =>
{
expression.CreateMap<long, B>()
.ConvertUsing(l => (B)l);
}));
var dictionary = new Dictionary<string, object>()
{
{"FieldB", 1L}
};
var result = autoMapper.Map<A>(dictionary);
}
}
Однако я должен определить это для каждого перечисления в решении, есть ли способ определить общее правило для преобразования long в перечисления в automapper?