zoukankan      html  css  js  c++  java
  • AutoMapper(ASP.NET MVC)

    需求:需要将Employee转换成DTO

        public class Employee
        {
            public int Age { get; set; }
            public int EmployeeNum { get; set; }
            public string Name { get; set; }
            public string Sex { get; set; }
            public string Email { get; set; }
    
        }
    
        public class EmployeeDTO
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public string Email { get; set; }
        }

    上面两个类是基础,下面需要去做映射。

        public class EmployeeProfile : Profile
        {
            public EmployeeProfile()
            {
                //CreateMap<Employee, EmployeeDTO>(); 如果 Employee 和 DTO中所要映射的属性是一样的,就可以这样写。
    
                //将Employee类中的EmployeeNum 转换成 DTO中的ID
                CreateMap<Employee, EmployeeDTO>().ForMember(dest => dest.ID, opt => opt.MapFrom(src => src.EmployeeNum));//有多个的话,可以链式去写
            }
        }

    映射好了之后,需要在Application_Start方法中去初始化AutoMapper。

            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
                RouteConfig.RegisterRoutes(RouteTable.Routes);
    
                Mapper.Initialize(cfg =>
                {
                    cfg.AddProfile(new EmployeeProfile());
                });
            }

    做好映射之后就可以直接使用了。

            public ActionResult Index()
            {
                List<Employee> employees = new List<Employee>() { new Employee { Age = 18, Sex = "", Email = "vichin@qisda.com", Name = "vichin", EmployeeNum = 1707107 } };
                IList<EmployeeDTO> viewModel = Mapper.Map<IList<Employee>, IList<EmployeeDTO>>(employees);
                return View();
            }

    下面是结果:

     

  • 相关阅读:
    背水一战 Windows 10 (61)
    背水一战 Windows 10 (60)
    背水一战 Windows 10 (59)
    背水一战 Windows 10 (58)
    背水一战 Windows 10 (57)
    背水一战 Windows 10 (56)
    背水一战 Windows 10 (55)
    背水一战 Windows 10 (54)
    背水一战 Windows 10 (53)
    背水一战 Windows 10 (52)
  • 原文地址:https://www.cnblogs.com/vichin/p/14037593.html
Copyright © 2011-2022 走看看