开发手册 欢迎您!
软件开发者资料库

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

本文主要介绍在ASP.NET Core中,通过Nuget安装Automapper,和Automapper的配置,以及使用的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 class MappingProfile : Profile {    public MappingProfile() {        //添加需要映射对象        CreateMap();        CreateMap();    }}

4、在Startup.cs文件中,如下所示添加AutoMapperConfiguration 

public void ConfigureServices(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 class UserController : Controller {    //用来存储mapper对象    private readonly IMapper _mapper;    //在构造函数中传入依赖注入对象    public UserController(IMapper mapper) {        _mapper = mapper;    }    public async Task Edit(string id) {       //实例化源对象       //(从数据库或代码调用的任何地方获取)        var user = await _context.Users            .SingleOrDefaultAsync(u => u.Id == id);       //实例化映射数据传输对象(dto)        var model = _mapper.Map(user);    }}