window環境下testlink環境搭建(xammp)
阿新 • • 發佈:2022-05-07
在.NET CORE中,我們可以使用AutoMapper來實現物件資料傳輸也就是Dto。
1、需要安裝如下兩個包,通過Nuget安裝即可:
1 AutoMapper
2 AutoMapper.Extensions.Microsoft.DependencyInjection
2、在Startup中新增AutoMapper:
services.AddAutoMapper();
3、建立AutoMapper對映規則,得告訴AutoMapper對映關係:
public class HosTesterProfile : AutoMapper.Profile { publicHosTesterProfile() { 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); }