zoukankan      html  css  js  c++  java
  • .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
        }

     

  • 相关阅读:
    10
    9
    8
    第七章
    第五章
    第六章
    android深度探索第四章
    android深度探索第三章
    android深度探索第二章
    android深度探索第一章
  • 原文地址:https://www.cnblogs.com/djd66/p/15251221.html
Copyright © 2011-2022 走看看