AutoMapper是一個對象映射器,它可以將一個一種類型的對象轉換為另一種類型的對象。AutoMapper供給了映射法則及操作方式,使我們不消過多設置裝備擺設就可以映射兩個類。
本篇經驗將和大師介紹OOM之AutoMapper利用,但愿對大師的工作和進修有所幫忙!
打開Visual Studio 2015,如下圖所示:
依次點擊菜單欄上的“文件”->“新建”->“項目”,如下圖所示:
新建一個ASP.NET Web應用法式,項目名稱為AutoMapperWeb,建立一個ASP.NET MVC的項目,如下圖所示:
點擊菜單欄中的“東西”->“NuGet保證理器”->“法式保證理器節制臺”,如下圖所示:
在打開的法式保證理器節制臺中,輸入Install-Package AutoMapper,然后回車,安裝AutoMapper,當前安裝的是6.2.2,如下圖所示:
如許AutoMapper對應的dll就主動添加到項目標bin目次下了,如下圖所示:
新建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; }
}
接下來我們建立自界說的ATProfile并擔當Profile類,代碼如下圖所示:
public class ATProfile:Profile
{
public ATProfile()
{
//映射關系設置裝備擺設
CreateMap<ProductEntity,ProductDTO>();
}
}
我們在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);
}
在Views目次下的Index視圖中,我們添加如下圖所示代碼:
@using AutoMapperWeb.Models
@model ProductDTO
@ViewBag.Tips
<ul>
<li>商品名稱:@Model.Name</li>
<li>商品數目:@Model.Amount</li>
</ul>
運行法式,可以看到成果如下圖所示:
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!