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
        }

     

  • 相关阅读:
    call/cc 总结 | Scheme
    用call/cc合成所有的控制流结构
    词法作用域 vs 动态作用域
    数论部分第二节:埃拉托斯特尼筛法
    1022: [SHOI2008]小约翰的游戏John【Nim博弈,新生必做的水题】
    C++面向对象作业1
    数论部分第一节:素数与素性测试【详解】
    基数排序与桶排序,计数排序【详解】
    计蒜客:百度的科学计算器(简单)【python神解】
    优质免费在线学习网站【自用】
  • 原文地址:https://www.cnblogs.com/djd66/p/15251221.html
Copyright © 2011-2022 走看看