![](/img/trans.png)
[英]AutoMapper How to map one class to another class in a ForMember method
[英]Unable to map fields with different names using Automapper ForMember method
我希望将一个名为PortalUser的实体映射到另一个名为UserFacade的实体,它们两个都具有相同的字段,但是一个字段相同,因为两个类的字段名称都不相同。
经过一番谷歌搜索后,我发现了一种将名称彼此不同的字段相互映射的方法,如此处所述, 如何在属性名称不同时指定映射规则
解决方案是使用ForMember函数并明确定义要映射的字段,如上面问题的回答中所述。
我的问题是,ForMember无法按Stackoverflow的几乎所有答案进行解释
AutoMapper.Mapper.CreateMap(user.GetType(), typeof(UserFacade))
.ForMember(dest => dest.PortalRole, opt => opt.MapFrom(src => src.Role);
var userFacade = AutoMapper.Mapper.Map<UserFacade>(user);
ForMember的第二行表示无法将lambda转换为字符串类型。 ForMember函数在stackoverflow的几乎每个答案中都以相同的方式使用,但是在这里似乎不起作用,请帮忙。
尝试如下:
AutoMapper.Mapper.CreateMap(user.GetType(), typeof(UserFacade))
.ForMember(dest => dest.PortalRole, opt => opt.MapFrom(src => src.Role));
也可以确认,这已添加到名称空间:
using System.Linq;
当我看着这个。 我看到3个可能的原因:
1)错字问题:
AutoMapper.Mapper.CreateMap(user.GetType(), typeof(UserFacade))
.ForMember(dest => dest.PortalRole, opt => opt.MapFrom(src => src.Role));
2)使用
using AutoMapper;
using System.Linq;
3)没有角色映射到PortalRole。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.