相关疑难解决方法(0)

AutoMapper无法将枚举转换为可空的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);
}
Run Code Online (Sandbox Code Playgroud)

AutoMapper不应该隐式地映射这个没有任何额外的显式规则吗?

PS我无法将DummyDestination.Dummy的定义更改为枚举.我必须处理这样的接口.

automapper

9
推荐指数
1
解决办法
7605
查看次数

标签 统计

automapper ×1