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
        }

     

  • 相关阅读:
    youku客户端
    youku服务端
    [计算机网络]从页面输入网址,回车到显示内容,这中间到底经历了什么
    [碎碎念]在嘛,吱一声.吱...
    [数据结构与算法]08 队列( Queue )以及队列实现的三种方式( Java 版)
    过年了,随便说点儿啥
    [碎碎念]为什么要写易维护的代码
    [碎碎念]如何成为更好的自己
    [年终总结]愿你在以后的黑暗时刻,都能想起我
    [数据结构与算法]07 关于单链表环的操作( Java 版)
  • 原文地址:https://www.cnblogs.com/djd66/p/15251221.html
Copyright © 2011-2022 走看看