Automapper 不支持将 int16 映射到枚举

The*_*dge 1 c# automapper

  • 自动映射器 4.1.1

源对象:

public class Platform_ContentTemplatesModel : OzEfEntity, IEntity<int>
{
    public string TemplateContent { get; set; } 
    public int TemplateIdentifier { get; set; } 
    public short WebsitePropertyId { get; set; }
    public int Id { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

目标对象:

public class OzCpPlatformContentTemplateItemRecord
{
    public int Id { get; set; }
    public string TemplateContent { get; set; }
    public ContentTemplateIdentifierEnum TemplateIdentifier { get; set; }
    public WebsitePropertyEnum WebsiteProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

映射配置:

Mapper.CreateMap<Platform_ContentTemplatesModel, OzCpPlatformContentTemplateItemRecord>()
                .ForMember(dest => dest.WebsiteProperty, opt => opt.MapFrom(src => src.WebsitePropertyId));
Run Code Online (Sandbox Code Playgroud)

现在 TemplateIdentifier 从intenum的映射工作得很好。然而,WebsitePropertyid 到 WebsiteProperty 的映射(即,到枚举的短路)失败,但出现以下异常:

{“缺少类型映射配置或不受支持的映射。映射类型:Int16 -> WebsitePropertyEnum System.Int16 -> WebsitePropertyEnum 目标路径:OzCpPlatformContentTemplateItemRecord.WebsiteProperty.WebsiteProperty 源值:1”}

现在我有一个值为 1 的枚举成员。这里的问题是基础类型是一个Short。我无法将其更改为int那么我该如何解决这个问题?