• AutoMapper的配置


    1,安装AutoMapper 和 Autofac

    命令:

    Install-package AutoMapper

    Install-package Autofac

     1 using Autofac;
     2 using AutoMapper;
     3 using AutoMapper.Configuration;
     4 using Morningstar.EquityFundamentals.Framework.Db.Chatbot;
     5 using Morningstar.EquityFundamentals.Model.Chatbot;
     6 
     7 namespace Morningstar.EquityFundamentals.Framework
     8 {
     9     public static class ContainerBuilderExtension
    10     {
    11         public static ContainerBuilder LoadAutoMapper(this ContainerBuilder builder)
    12         {
    13             builder.RegisterType<MapperConfigurationExpression>().SingleInstance();
    14             builder.Register(m =>
    15             {
    16                 var mapperConfigurationExpression = m.Resolve<MapperConfigurationExpression>();
    17                 var instance = new MapperConfiguration(mapperConfigurationExpression);
    18                 return instance;
    19             });
    20             builder.Register(m =>
    21             {
    22                 var mapperConfiguration = m.Resolve<MapperConfiguration>();
    23                 return mapperConfiguration.CreateMapper();
    24             });
    25             return builder;
    26         }
    27     }
    28 
    29     public class AutoMapperProfile : Profile
    30     {
    31         public void Mapping(ILifetimeScope scope)
    32         {
    33             var expression = scope.Resolve<MapperConfigurationExpression>();
    34             expression.CreateMap<AppInfo, AppInfoDto>();
    35         }
    36     }
    37 
    38     public static class AutoMapperHelper
    39     {
    40         public static TDestination Map<TDestination>(object source)
    41         {
    42             ContainerBuilder builder = new ContainerBuilder();
    43             builder.LoadAutoMapper();
    44             builder.RegisterType<AutoMapperProfile>();
    45             IContainer Container = builder.Build();
    46 
    47             using var scope = Container.BeginLifetimeScope();
    48             scope.Resolve<AutoMapperProfile>().Mapping(scope);
    49             return scope.Resolve<IMapper>().Map<TDestination>(source);
    50         }
    51     }
    52 }
    AutoMapperHelper

    2,使用

  • 相关阅读:
    个人代码库の自动粘合桌面边缘
    rhel7.0中将vim 7.4 升级到 vim 8.2版本
    R语言中diag函数
    R语言中当order有两个向量参数时的排序规则
    R语言中col函数
    ping: www.baidu.com: Temporary failure in name resolution
    R语言中set.seed()函数的作用
    R语言中row函数
    R语言中scale函数(数据的标准化 zscore)
    R语言中实现将矩阵的每一列随机排序
  • 原文地址:https://www.cnblogs.com/shangec/p/13496507.html
Copyright © 2020-2023  润新知