图解OOM之AutoMapper使用

AutoMapper是一个对象映射器,它可以将一个一种类型的对象转换为另一种类型的对象。AutoMapper供给了映射法则及操作方式,使我们不消过多设置装备摆设就可以映射两个类。

本篇经验将和大师介绍OOM之AutoMapper利用,但愿对大师的工作和进修有所帮忙!

方式/步调

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    点击菜单栏中的“东西”->“NuGet保证理器”->“法式保证理器节制台”,如下图所示:

  5. 5

    在打开的法式保证理器节制台中,输入Install-Package AutoMapper,然后回车,安装AutoMapper,当前安装的是6.2.2,如下图所示:

  6. 6

    如许AutoMapper对应的dll就主动添加到项目标bin目次下了,如下图所示:

  7. 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. 8

    接下来我们建立自界说的ATProfile并担当Profile类,代码如下图所示:

    public class ATProfile:Profile

    {

         public ATProfile()

         {

                //映射关系设置装备摆设

                CreateMap<ProductEntity,ProductDTO>();

         }

    }

  9. 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<ProductEntity, ProductDTO>());

                //var productDTO = Mapper.Map<ProductDTO>(productEntity);

                //2、Automapper利用实例方式建立映射

                //ViewBag.Tips = "2、Automapper利用实例方式建立映射";

                //MapperConfiguration configuration = new MapperConfiguration(cfg => cfg.CreateMap<ProductEntity,ProductDTO>());

                //var mapper = configuration.CreateMapper();

                //var productDTO = mapper.Map<ProductDTO>(productEntity);

                //3、利用Profie设置装备摆设实现映射关系

                ViewBag.Tips = "3、利用Profie设置装备摆设实现映射关系";

                var configuration = new MapperConfiguration(cfg => cfg.AddProfile<ATProfile>());

                var productDTO = configuration.CreateMapper().Map<ProductDTO>(productEntity);

                return View(productDTO);

            }

  10. 10

    在Views目次下的Index视图中,我们添加如下图所示代码:

    @using AutoMapperWeb.Models

    @model  ProductDTO

     @ViewBag.Tips

    <ul>

        <li>商品名称:@Model.Name</li>

        <li>商品数目:@Model.Amount</li>

    </ul>

  11. 11

    运行法式,可以看到成果如下图所示:

  • 发表于 2018-05-10 00:00
  • 阅读 ( 813 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具