AutoMapper не может преобразовать enum в nullable int?
Я получил исключение AutoMapperMappingException
Исключение типа 'AutoMapper.AutoMapperMappingException' было сгенерировано. ---> System.InvalidCastException: недопустимое приведение из 'DummyTypes' к 'System.Nullable`1 [[System.Int32, ...
когда
public enum DummyTypes : int
{
Foo = 1,
Bar = 2
}
public class DummySource
{
public DummyTypes Dummy { get; set; }
}
public class DummyDestination
{
public int? Dummy { get; set; }
}
[TestMethod]
public void MapDummy()
{
Mapper.CreateMap<DummySource, DummyDestination>();
Mapper.AssertConfigurationIsValid();
DummySource src = new DummySource()
{
Dummy = DummyTypes.Bar
};
Mapper.Map<DummySource, DummyDestination>(src);
}
Разве AutoMapper не должен отображать это неявно без каких-либо дополнительных явных правил?
Постскриптум Я не могу изменить определение DummyDestination.Dummy на enum. Мне приходится иметь дело с такими интерфейсами.