zoukankan      html  css  js  c++  java
  • AutoMapper学习笔记

    进入公司后学习到的东西,之前记录在github上 现在搬运过来

    AutoMapperDemo

    需要安装两个包

    • AutoMapper
    • AutoMapper.Extensions.Microsoft.DependencyInjection //需要依赖注入AutoMapper,需要下载该包。

    在Startup中添加AutoMapper:

    public void ConfigureServices(IServiceCollection services)
    {
        //添加对AutoMapper的支持
        services.AddAutoMapper();
    }
    

    创建AutoMapper映射规则,新建一个config类,以及两个实体对象, User和UserDto

        public class Config:Profile
        {
            public Config()
            {
                //CreateMap(typeof(User), typeof(UserDto));
                CreateMap<User, UserDto>().
                    ForMember(dest => dest.Sing, 
                    opt => 
                    opt.MapFrom(src => src.Sex == 'f' ? "画画" : "打老虎"));
            }
        }
    

    使用方式.

            private IMapper _mapper;
            public ValuesController(IMapper mapper)
            {
                _mapper = mapper;
            }
            
            public ActionResult<IEnumerable<UserDto>> Get()
            {
                List<User> userList = new List<User>()
                {
                        new User() {
                                  Id = 1,
                                  Age = 12,
                                  ClassName = "五年级",
                                  Name = "大大大",
                                  Sex = 'f'
                         },
                         new User() {
                                  Id = 2,
                                  Age = 12,
                                  ClassName = "五年级",
                                  Name = "大大大",
                                  Sex = 'f'
                         },
                          new User() {
                                  Id = 3,
                                  Age = 12,
                                  ClassName = "五年级",
                                  Name = "大大大",
                                  Sex = 'm'
                         },
                           new User() {
                                  Id = 4,
                                  Age = 12,
                                  ClassName = "五年级",
                                  Name = "大大大",
                                  Sex = 'm'
                         }
                };
                AutomapperDemo.Model.User user = new User()
                {
                    Id = 1,
                    Age = 12,
                    ClassName = "五年级",
                    Name = "大大大",
                    Sex = 'f'
                };
                //var model = _mapper.Map<UserDto>(user);
                var model = _mapper.Map<List<UserDto>>(userList);
                return model;
            }
    
  • 相关阅读:
    面试知识点2
    面试知识点3
    面试知识记录
    JQuery手写一个简单的轮播图
    推荐一款好用的日历插件
    JQuery获取复选框的值
    JQuery手写一个简单的分页
    JQuery给一个元素绑定两次点击事件(第二次点击事件)
    懒加载预加载(图片)
    JQuery Ajax 使用FormData上传文件对象
  • 原文地址:https://www.cnblogs.com/zzqvq/p/10114524.html
Copyright © 2011-2022 走看看