zoukankan      html  css  js  c++  java
  • .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.

    官网:http://automapper.org/

    文档:https://automapper.readthedocs.io/en/latest/index.html

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

    平台支持:

    • .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);

    集合对象转换

  • 相关阅读:
    Eclipse中配置约束
    c++ 虚函数
    cocos3 menu
    cocos3 封装一个ball
    cocos3 内存管理机制
    cocos3 多文件拆分cocos
    cocos3 labelttf
    cocos3 messagebox
    cocos3 log
    cocos3 director sprite scene之间的关系
  • 原文地址:https://www.cnblogs.com/wyt007/p/10123451.html
Copyright © 2011-2022 走看看