zoukankan      html  css  js  c++  java
  • AutoMapper的介绍与使用(一)

    软件环境

    • vs2015
    • asp.net mvc 5
    • .NET Framework 4.5.2
    • AutoMapper 5.2.0.0

    AutoMapper安装

    新建asp.net mvc 项目 AutoMapperExample,此处应该都会用vs新建mvc项目了,不再讲解如何创建

    ,

    点击 工具→NuGetB包管理器→管理解决方案的NuGet程序包,在弹出的界面中,选中 “浏览”,输入autoMapper,回车搜索,在搜索出的程序包中,选中第一个,然后安装

    输出如下图所示,则表示安装AutoMapper成功

    AutoMapper配置

    使用静态全局mapper注册的话,应该放在应用程序启动的时候,即ASP.NET MVC的Global.asax文件的Application_Start()方法。

    在程序中新建AutoMapper文件夹,用于存放对象映射的类,该文件夹下新建类AutoMapperConfig,该类处理所有的对象映射

     该类主要处理对象的映射,即从一个对象转化到另一个对象

        public class AutoMapperConfig
        {
            public static void Config()
            {
                Mapper.Initialize(cfg =>
                {
                    cfg.CreateMap<OrderDto, Order>();
                    cfg.AddProfile<ExtendMapProfile>();
                });
            }
    
            public class ExtendMapProfile : Profile
            {
                protected override void Configure()
                {
                    CreateMap<UserDto, User>();
                }
            }
        }

    其中Order,OrderDto,User,UserDto为实体对象,此处不再细述,CreateMap<>为AutoMapper转化其中两个对象,此处后续会做详细描述,再增加新的对象转换时,均在此处进行CreateMag<source,dest>转换

    在Global.asax文件的Application_Start()方法中执行该静态方法

            protected void Application_Start()
            {
                AutoMapperConfig.Config();
    
                AreaRegistration.RegisterAllAreas();
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);
            }

    至此,所有AutoMapper的配置全部配置完成

  • 相关阅读:
    [sql]在case语句中不同情况下then的数据的数据类型不一致ORA-00932: inconsistent datatypes: expected NUMBER got CHAR
    环境迁移 小记
    linux下安装oracle遇到的问题
    正向代理与反向代理
    文件夹与SVN脱离关系
    shell 脚本中$$,$#,$?
    在MySQL中单列索引和联合索引的区别
    Java中Map、HashMap、LinkedHashMap、TreeMap的区别
    Error、Exception与RuntimeException的区别
    设计模式--单例模式
  • 原文地址:https://www.cnblogs.com/yanyangxue2016/p/6229110.html
Copyright © 2011-2022 走看看