你的位置:首页 > ASP.net教程

[ASP.net教程]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的配置全部配置完成