AutoMapper не может преобразовать перечисление в целое число, допускающее значение NULL?

Я получил исключение 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. Мне приходится иметь дело с такими интерфейсами.

9
задан Andrew Whitaker 15 March 2012 в 15:13
поделиться