ASP.NET Core Automapper的Nuget安装和配置以及demo示例代码
时间:2022-08-13
1、通过Nuget安装Automapper
可以通过Nuget命令或Nuget图形界面来安装,不会使用的可以看一下:Nuget的使用
PM> Install-Package AutoMapper -Version 7.0.1
2、通过Nuget安装Automapper依赖注入(DI)包
PM> Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection -Version 5.0.1
3、创建一个映射配置文件类。
我在主解决方案目录中创建了一个类,MappingProfile.cs并添加以下代码, 使用User和UserDto对象作为示例。
public >MappingProfile : Profile { public MappingProfile() { //添加需要映射对象 CreateMap<User, UserDto>(); CreateMap<UserDto, User>(); } }
4、在Startup.cs文件中,如下所示添加AutoMapperConfiguration
public void ConpServices(IServiceCollection services) { //...省略之前的代码 //Auto Mapper Configurations var mappingConfig = new MapperConfiguration(mc => { mc.AddProfile(new MappingProfile()); }); IMapper mapper = mappingConfig.CreateMapper(); services.AddSingleton(mapper); services.AddMvc(); }
5、在代码中调用生成映射对象
public >UserController : Controller { //用来存储mapper对象 private readonly IMapper _mapper; //在构造函数中传入依赖注入对象 public UserController(IMapper mapper) { _mapper = mapper; } public async Task<IActionResult> Edit(string id) { //实例化源对象 //(从数据库或代码调用的任何地方获取) var user = await _context.Users .SingleOrDefaultAsync(u => u.Id == id); //实例化映射数据传输对象(dto) var model = _mapper.Map<UserDto>(user); } }
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。