ทำเหมือน AutoMapper ธรรมดาเลย แต่เพิ่ม code ส่วนนี้เข้าไป
            Mapper.CreateMap<Modelต้นทาง, Modelปลายทาง>()
               //config property ที่ชื่อต้นทางกับปลายทางไม่ตรงกัน 
              //เช่น ต้นทาง: Id , ปลายทาง: UserId 
                .ForMember(
                    dst => dst.UserId ,
                    opt => opt.MapFrom(src => src.Id ))
              //ทำเหมือนข้างบนไปเรื่อยๆในอันที่ชื่อไม่ตรงกัน 
                .ForMember(
                    dst => dst.EndDate,
                    opt => opt.MapFrom(src => src.EndDatePlan));
รวม code จะได้เป็น 
        public static Modelปลายทาง Toชื่อที่มันสื่อว่ามันแมพไปModelปลายทางนะ(this Modelต้นทาง model)
        {
            Mapper.CreateMap<Modelต้นทาง, Modelปลายทาง>()
                .ForMember(
                    dst => dst.UserId ,
                    opt => opt.MapFrom(src => src.Id ))
                .ForMember(
                    dst => dst.ชื่อตัวแปรของ Property Model ปลายทาง,
                    opt => opt.MapFrom(src => src.ชื่อตัวแปรของ Property Model ต้นทาง));
            return Mapper.Map<Modelปลายทาง>(model) ?? new Modelปลายทาง();
        } 
 
ไม่มีความคิดเห็น:
แสดงความคิดเห็น