在ASP.NET Core中使用AutoMapper将对象属性映射为字符串的方法
Tag对象转字符串的正确AutoMapper配置
你这段映射代码无法运行的原因是:当目标类型是string这类值类型时,不能使用ForMember方法——ForMember是用来配置复杂类型的成员映射,而string没有可被访问配置的成员。
下面是两种正确的配置写法:
写法一:使用ConvertUsing
直接定义类型转换的逻辑:
public class TagProfile : ProfileBase { public TagProfile() { CreateMap<Tag, string>() .ConvertUsing(src => src.Name); } }
写法二:简化的MapFrom重载
用更简洁的方式指定映射规则:
public class TagProfile : ProfileBase { public TagProfile() { CreateMap<Tag, string>().MapFrom(src => src.Name); } }
使用时直接调用mapper.Map<string>(你的Tag实例),就能得到Tag的Name属性值。
内容的提问来源于stack exchange,提问作者Sorna Amin
相关产品推荐
相关产品推荐

