.NET CORE 中使用AutoMapper進行對象映射

簡介

AutoMapper uses a fluent configuration API to define an object-object mapping strategy. AutoMapper uses a convention-based matching algorithm to match up source to destination values. AutoMapper is geared towards model projection scenarios to flatten complex object models to DTOs and other simple objects, whose design is better suited for serialization, communication, messaging, or simply an anti-corruption layer between the domain and application layer.html

官網:http://automapper.org/ios

文檔:https://automapper.readthedocs.io/en/latest/index.htmlgit

GitHub:https://github.com/AutoMapper/AutoMapper/blob/master/docs/index.rstgithub

平臺支持:app

  • .NET 4.6.1+
  • .NET Standard 2.0+ https://docs.microsoft.com/en-us/dotnet/standard/net-standard

使用

Nuget安裝

AutoMapper       
AutoMapper.Extensions.Microsoft.DependencyInjection  //依賴注入AutoMapper,須要下載該包。

在Startup中添加AutoMapper

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    //添加對AutoMapper的支持
    services.AddAutoMapper();
}

建立AutoMapper映射規則

public class AutoMapperConfigs:Profile
{
    //添加你的實體映射關係.
    public AutoMapperConfigs()
    {
        CreateMap<DBPoundSheet, PoundSheetViewModel>();
        CreateMap<PoundSheetViewModel, DBPoundSheet>();
    }
}

在構造函數中注入你的IMapper

IMapper _mapper;

public PoundListController(IMapper mapper)
{
    _mapper = mapper;
}

單個對象轉換

//typeof(model)="PoundSheetViewModel"
DBPoundSheet dBPoundSheet = _mapper.Map<DBPoundSheet>(model);

集合對象轉換

相關文章
相關標籤/搜索