AutoMapper的使用----基本篇

今天来写一下关于.net中AutoMapper的使用中的常用的地方。首先我个人是非常非常喜欢AutoMapper的,因为它真正做到了又轻量又好用,它只干了一件事,就是帮你做对象类型转换。下面就记录一下它的使用,我的代码是基于.net core的

第一步:管理NuGet包搜索AutoMapper 安装AutoMapper.Extensions.Microsoft.DependencyInjection

第二步:在Startup.cs里的ConfigureServices方法里加入配置 services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());

第三步:然后创建一个类 该类继承AutoMapper里的Profile类,对象映射的配置就在这个类里面  当然这样继承了Profile类的类可以创建多个  每一个类里面的映射配置都有效,代码如下

    /// <summary>
    /// AutoMapper配置类
    /// </summary>
    public class MyDemoProfile : Profile
    {
        public MyDemoProfile()
        {
            CreateMap<Person, PersonDto>();
        }

    }


    //两个用于测试的类
    public class Person
    {
        public string IdCard { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public string Address { get; set; }
        public string Phone { get; set; }
    }

    public class PersonDto
    {
        public string IdCard { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public string Address { get; set; }
        public string Phone { get; set; }
    }


    /// <summary>
    /// 测试API
    /// </summary>
    [Route("api/[controller]")]
    [ApiController]
    public class AutoMapperDemoController : ControllerBase
    {
        private readonly IMapper mapper;
        public AutoMapperDemoController(IMapper mapper)
        {
            this.mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
        }

        [HttpGet, Route("GetPerson")]
        public IActionResult GetPerson()
        {
            Person person = new Person
            {
                IdCard = "12121212112121",
                Name = "张三",
                Age = 18,
                Address = "内蒙古自治区锡林浩特市",
                Phone = "1111111111111",
            };
            PersonDto personDto = mapper.Map<PersonDto>(person);
            return Ok(personDto);
        }

    }

测试结果如下

以上就是AutoMapper最基本的使用了,下一篇再写一些AutoMapper里常用的配置用以解决两个要做转换的对象的一些常见的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值