码迷,mamicode.com
首页 > 移动开发 > 详细

.NetCore3.1配置AutoMapper-(int转枚举Description)

时间:2021-04-27 14:56:21      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ima   col   rac   conf   org   class   pen   on()   des   

一、自定义AutoMapper配置类-using AutoMapper继承Profile

 public class AutoMapperInit : Profile
    {
        public AutoMapperInit()
        {
            
            CreateMap<UpdatePatientRequest, PrehosPatientTreatmentDto>()
              .ForMember(d => d.DISEASE_HAPPEN_TIME, option => option.MapFrom(s => s.DISEASE_TIME))
              .ForMember(d => d.PLACE, option => option.MapFrom(s => s.DISEASE_SCENE))
              .ForMember(d => d.iss, option => option.MapFrom(s => s.iss))
              .ForMember(d => d.mrs, option => option.MapFrom(s => s.mrs))
              .ForMember(d => d.nihss, option => option.MapFrom(s => s.nihss))
              .ForMember(d => d.phi, option => option.MapFrom(s => s.phi))
              .ForMember(d => d.mews, option => option.MapFrom(s => s.mews))
              .ForMember(d => d.rts, option => option.MapFrom(s => s.rts))
              .ForMember(d => d.grace, option => option.MapFrom(s => s.grace))
              .ReverseMap()
              .ForMember(d => d.DIAGNOSIS_TIME, option => option.MapFrom(s => s.DISEASE_HAPPEN_TIME));

            CreateMap<PrehosPatientTreatmentDto, NURSING_DOC_LAPSS>();

            #region 
            CreateMap<org_emr_ycf, YcfDisplayDto>()
                .ForMember(dest => dest.IsNeed, m => m.MapFrom(s => ((FM_Need)s.fm_need).Description()));
            CreateMap<YcfAddDto, org_emr_ycf>().ForMember(s => s.ycf_code, opt => opt.Ignore());
            #endregion
        }
    }

二、在Startup-ConfigureServices中注册服务

    #region 实体映射
            services.AddAutoMapper(typeof(AutoMapperInit));
    #endregion        

三、自定义枚举扩展方法

public static class EnumService
    {
        public static string Description(this Enum obj)
        {
            string fieldName = obj.ToString();
            Type t = obj.GetType();
            FieldInfo fi = t.GetField(fieldName);
            DescriptionAttribute[] arrDesc = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
            return arrDesc[0].Description;
        }
    }

四、实体类中测试

public enum FM_Need
    {
        [Description("医学需要")]
        NotNeed,
        [Description("非医学需要")]
        Need
    }

技术图片

 

 技术图片

 

.NetCore3.1配置AutoMapper-(int转枚举Description)

标签:ima   col   rac   conf   org   class   pen   on()   des   

原文地址:https://www.cnblogs.com/ABC-wangyuhan/p/14705944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!