当前位置:网站首页 > 创业 > 正文

图解OOM之AutoMapper使用

0 张子豪 张子豪 2025-10-12 04:09 1

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

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

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!


本文链接:https://www.ibaiwen.com/web/236182.html

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图