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


    一、自定义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
        }

     

  • 相关阅读:
    cookie的设置、获取和删除封装
    原生javascript封装ajax和jsonp
    javascript模块化应用
    图解javascript this指向什么?
    学习bootstrap心得
    javascript使用两个逻辑非运算符(!!)的原因
    dubbo小教程
    JSTL与EL表达式(为空判断)
    自己整理的常用SQL Server 2005 语句、
    python基础:迭代器、生成器(yield)详细解读
  • 原文地址:https://www.cnblogs.com/djd66/p/15251221.html
Copyright © 2020-2023  润新知