博客园不常在线

有问题联系微信

微信号

微信公众号

Asp .Net Core系列:AutoMapper自动映射框架介绍、使用

1.介绍

AutoMapper是一个对象-对象映射器。对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作。使AutoMapper变得有趣的是,它提供了一些有趣的约定,以免去搞清楚如何将类型A映射为类型B。只要类型B遵循AutoMapper既定的约定,就需要几乎零配置来映射两个类型。

2.使用

nuget命令: Install-Package AutoMapper && Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection

public class Foo
{
    public int Id { get; set; }
    public string  Name { get; set; }
}
public class FooDto
{
    public int Id { get; set; }
}

public class OrganizationProfile : Profile
{
	public OrganizationProfile()
	{
		CreateMap<Foo, FooDto>();			
	}
}

public class AutoMapperConfig
{
    public static MapperConfiguration RegisterMappings()
    {
        return new MapperConfiguration(cfg =>
        {
            cfg.AddProfile(new OrganizationProfile());
        });
    }
}

 services.AddAutoMapper(typeof(AutoMapperConfig)); AutoMapperConfig.RegisterMappings();

[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{

    private readonly IMapper _mapper;

    public WeatherForecastController(IMapper mapper)
    {
        _mapper = mapper;
    }
    [HttpGet,Route("GetFooDto")]
    public FooDto GetFooDto()
    {
        Foo foo = new Foo();
        foo.Id = 1;
        foo.Name = "AA";
        return _mapper.Map<FooDto>(foo);
    }
}
posted @ 2020-06-11 16:07  Code技术分享  阅读(273)  评论(0编辑  收藏  举报