.Net Core 中使用AutoMapper进行对象映射
在.NET CORE中,我们可以使用AutoMapper来实现对象数据传输也就是Dto。
1、需要安装如下两个包,通过Nuget安装即可:
1 AutoMapper
2 AutoMapper.Extensions.Microsoft.DependencyInjection
2、在Startup中添加AutoMapper:
1 | services.AddAutoMapper(); |
3、创建AutoMapper映射规则,得告诉AutoMapper映射关系:
public class HosTesterProfile : AutoMapper.Profile { public HosTesterProfile() { CreateMap<HosTester, HosTesterHis>().ForMember(x => x.Id, opt => opt.Ignore()) .ForMember(x => x.IsActive, opt => opt.MapFrom(src => true)) .ForMember(x => x.Name, opt => opt.MapFrom(src => src.BranchName)) .ForMember(x => x.Code, opt => opt.MapFrom(src => src.CjdBranceCode)) .ForMember(x => x.OutCode1, opt => opt.MapFrom(src => src.Id)) .ForMember(x => x.OutCode2, opt => opt.MapFrom(src => src.BranchCode)); } }
4、在你的Controller构造函数中注入你的IMapper:
public class SyncTesterToTesterHis { private readonly IMapper _mapper; public SyncTesterToTesterHis( IMapper mapper) { _mapper = mapper; } }
5、单个对象转Dto:
private Task Sync() { var hosTester=new HosTester(){ Id=1,Name="张三" } var hostesterHis = _mapper.Map<HosTesterHis>(hosTester);
}
6、集合转Dto集合:
private Task Sync() { var hosTester=new List<HosTester> { new HosTester(){Id=1,Name="张三"} new HosTester(){Id=2,Name="李四"} } var hostesterHis = _mapper.Map<List<HosTesterHis>>(hosTester); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!