首页 .Net ASP.NET Core Automapper的Nuget安装和配置以及demo示例代码

ASP.NET Core Automapper的Nuget安装和配置以及demo示例代码

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联系,我们会及时反馈并处理完毕。