.net core automapper

1、安装nuget包

Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection

2、注入AutoMapper

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
        }

3、添加测试模型

  public class Student
    {
        public int Id { get; set; }
        public int Age { get; set; }
        public string Name { get; set; }
        public string Addr { get; set; }
        public bool Sex { get; set; }
    }
 public class StudentDto
    {
        public int Age { get; set; }
        public string Name { get; set; }
        public string Addr { get; set; }
        public bool Sex { get; set; }
    }

4、继承Profile,在构造函数中定义映射关系。

 public class AutoProfile: Profile
    {
        public AutoProfile()
        {
            //定义映射,ReverseMap表示双向,还可以自定义映射字段
            CreateMap<Student, StudentDto>().ReverseMap();
        }
       
    }

5、测试代码

 [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        private readonly IMapper _mapper;
        public ValuesController(IMapper mapper)
        {
            _mapper = mapper;
        }
        // GET api/values
        [HttpGet]
        public Student Get()
        {
            var studentDto = new StudentDto { Name = "张三", Addr = "广州市", Age = 18, Sex = true };
            var student = _mapper.Map<StudentDto, Student>(studentDto);
            return student;
        }

       
    }

测试结果如下

 除了id没有,其他字段都自动匹配上值了,简单的入门级demo收工。

原文地址:https://www.cnblogs.com/KQNLL/p/11875168.html