加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

AutoMapper系列:介绍、使用

发布时间:2020-12-16 08:59:25 所属栏目:asp.Net 来源:网络整理
导读:1.介绍 AutoMapper是一个对象-对象映射器。对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作。使AutoMapper变得有趣的是,它提供了一些有趣的约定,以免去搞清楚如何将类型A映射为类型B。只要类型B遵循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);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读