源对象:
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; }
}
目标对象:
public class OzCpPlatformContentTemplateItemRecord
{
public int Id { get; set; }
public string TemplateContent { get; set; }
public ContentTemplateIdentifierEnum TemplateIdentifier { get; set; }
public WebsitePropertyEnum WebsiteProperty { get; set; }
}
映射配置:
Mapper.CreateMap<Platform_ContentTemplatesModel, OzCpPlatformContentTemplateItemRecord>()
.ForMember(dest => dest.WebsiteProperty, opt => opt.MapFrom(src => src.WebsitePropertyId));
现在,TemplateIdentifier从 int 到 enum 的映射完美无缺。但是,WebsitePropertyid到WebsiteProperty的映射,即短到枚举的映射失败,但出现以下异常:
{&#34;缺少类型地图配置或不支持 映射。 映射类型: Int16 - &gt; WebsitePropertyEnum System.Int16 - &gt; WebsitePropertyEnum 目的地路径: OzCpPlatformContentTemplateItemRecord.WebsiteProperty.WebsiteProperty 来源价值:1&#34;}
现在我有一个值为1的枚举成员。这里的问题是基础类型是短。我无法将其更改为 int ,那么我该如何解决这个问题?
答案 0 :(得分:1)
确保您的目标枚举映射到简短
public enum WebsitePropertyEnum : short
{
thing1 = 0,
thing2 = 1
}