[英]Automapper unsupported mapping int16 to enum
源对象:
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到枚举的映射可以正常工作。 但是,WebsitePropertyid到WebsiteProperty的映射(即枚举的缩写)失败,但以下情况除外:
{“缺少类型映射配置或不支持的映射。映射类型:Int16-> WebsitePropertyEnum System.Int16-> WebsitePropertyEnum目标路径:OzCpPlatformContentTemplateItemRecord.WebsiteProperty.WebsiteProperty源值:1”}
现在,我有一个枚举成员,其值为1。所以这里的问题是基础类型是short 。 我不能将其更改为int ,如何解决此问题?
确保您的目标枚举映射到一个简短的
public enum WebsitePropertyEnum : short
{
thing1 = 0,
thing2 = 1
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.