【发布时间】:2015-11-26 04:05:58
【问题描述】:
- 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; }
}
目标对象:
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 的映射,即 short 到 enum 的映射失败,但有以下例外:
{"缺少类型映射配置或不支持 映射。 映射类型: Int16 -> 网站属性枚举 System.Int16 -> 网站属性枚举 目的地路径: OzCpPlatformContentTemplateItemRecord.WebsiteProperty.WebsiteProperty 源值:1"}
现在我有一个值为 1 的枚举成员。这里的问题是基础类型是 short。我无法将其更改为 int,那么我该如何解决这个问题?
【问题讨论】:
标签: c# automapper