zoukankan      html  css  js  c++  java
  • .NET Core 中AutoMapper使用配置

    1:AutoMapper说明

    对象转对象的一种映射器

    2:Core中如何配置AutoMapper

    1.NuGet安装AutoMapper.Extensions.Microsoft.DependencyInjection

    2.创建配置文件,并添加映射配置
    需要继承AutoMapper中的Profile,

    namespace Pckj.Test.Demo.Services
    {
        public class AutoMapperProfiles:Profile
        {
            public AutoMapperProfiles()
            {
                
        //构造函数中创建映射关系 
         CreateMap<Tsourse, TDes>().ReverseMap();  //Tsourse 原对象类型,TDes 目标对象类型  ReverseMap,可相互转换
            }
        }
    }
    

    3:在Startup启动类中的ConfigureServices方法中将服务添加到容器

        AutoMapperProfiles是上面步骤中定义的配置文件,具体代码如下:

      services.AddAutoMapper(typeof(AutoMapperProfiles));

    其他配置方式如下:

    public class Startup
        {
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="configuration"></param>
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
            /// <summary>
            /// 配置服务
            /// </summary>
            /// <param name="services"></param>
             public void ConfigureServices(IServiceCollection services)
             {
                  AutoMapper.MapperConfiguration config = new AutoMapper.MapperConfiguration(mce =>
                 {
                     mce.AddMaps(new string[] { "Pckj.Test.Demo.Services" });//添加程序集中包含的映射定义。寻找AutoMapper.Profile 【Pckj.Test.Demo.Services】程序集名称,也就是 AutoMapperProfiles所在的位置)
    
                   //mce.AddProfile(new AutoMapperProfiles()); 
                }); 
           var mapper = config.CreateMapper(); 
            services.AddSingleton<AutoMapper.IMapper>(mapper);
        }
     }

    使用示例:

     public class DemoService : IDemoService
        {
            /// <summary>
            /// 构造方法
            /// </summary>
            /// <param name="mapper"></param>
            public SupplierService(AutoMapper.IMapper mapper)
            {
                
                Mapper = mapper;
            }
          
            public AutoMapper.IMapper Mapper { get; set; }
         
    
              Mapper.Map<List<Tdes>>(List<Tsource>) ;//集合转换
              Mapper.Map<Tdes>(Tsource); //对象转换
     }
    

      

  • 相关阅读:
    mui 单页面下拉刷新
    phpStorm格式化代码快捷键
    mui 子页面切换父页面底部导航
    Java连接Mysql的基本用法
    string替换所有指定字符串(C++)
    MySql与Java的时间类型
    MYSQL中防止插入重复记录的解决方案(无重复值更新)
    Java数据库连接池封装与用法
    Java中数据库连接池原理机制的详细讲解(转)
    Fedora14使用yum安装mysql
  • 原文地址:https://www.cnblogs.com/wu-peng/p/13815143.html
Copyright © 2011-2022 走看看