多语言展示
当前在线:191今日阅读:26今日分享:39

图解OOM之AutoMapper使用

AutoMapper是一个对象映射器,它可以将一个一种类型的对象转换为另一种类型的对象。AutoMapper提供了映射规则及操作方法,使我们不用过多配置就可以映射两个类。本篇经验将和大家介绍OOM之AutoMapper使用,希望对大家的工作和学习有所帮助!
方法/步骤
1

打开Visual Studio 2015,如下图所示:

2

依次点击菜单栏上的“文件”->“新建”->“项目”,如下图所示:

3

新建一个ASP.NET Web应用程序,项目名称为AutoMapperWeb,创建一个ASP.NET MVC的项目,如下图所示:

4

点击菜单栏中的“工具”->“NuGet包管理器”->“程序包管理器控制台”,如下图所示:

5

在打开的程序包管理器控制台中,输入Install-Package AutoMapper,然后回车,安装AutoMapper,当前安装的是6.2.2,如下图所示:

6

这样AutoMapper对应的dll就自动添加到项目的bin目录下了,如下图所示:

7

新建2个类,ProductEntity和ProductDTO类,如下图所示:public class ProductEntity{        public string Name { get; set; }        public decimal Amount { get; set; }}public class ProductDTO{        public string Name { get; set; }        public decimal Amount { get; set; }}

8

接下来我们创建自定义的ATProfile并继承Profile类,代码如下图所示:public class ATProfile:Profile{     public ATProfile()     {            //映射关系配置            CreateMap();     }}

9

我们在HomeController控制器中,可以编写三种方式进行AutoMapper的自动映射,代码如下图所示:public ActionResult Index()        {            var productEntity = new ProductEntity() { Name = "Visual Studio 2017", Amount = 500 };            //1、Automapper使用静态类创建映射            //ViewBag.Tips = "1、Automapper使用静态类创建映射";            //Mapper.Initialize(cfg => cfg.CreateMap());            //var productDTO = Mapper.Map(productEntity);            //2、Automapper使用实例方法创建映射            //ViewBag.Tips = "2、Automapper使用实例方法创建映射";            //MapperConfiguration configuration = new MapperConfiguration(cfg => cfg.CreateMap());            //var mapper = configuration.CreateMapper();            //var productDTO = mapper.Map(productEntity);            //3、使用Profie配置实现映射关系            ViewBag.Tips = "3、使用Profie配置实现映射关系";            var configuration = new MapperConfiguration(cfg => cfg.AddProfile());            var productDTO = configuration.CreateMapper().Map(productEntity);            return View(productDTO);        }

10

在Views目录下的Index视图中,我们添加如下图所示代码:@using AutoMapperWeb.Models@model  ProductDTO @ViewBag.Tips

       
  • 商品名称:@Model.Name
  •    
  • 商品数量:@Model.Amount

11

运行程序,可以看到结果如下图所示:

推荐信息