AutoMapper使用

Posted 艺洁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AutoMapper使用相关的知识,希望对你有一定的参考价值。

AutoMapper初始化 在global.axax的Application_Start中使用AutoMapperConfiguration.Configure();

using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace BaseAsset.Api.Mappings
{
    public class AutoMapperConfiguration
    {
        public static void Configure()
        {
            Mapper.Initialize(x =>
            {
                //DomainToViewModelMappingProfile文件将被实例化并添加到配置中。
                x.AddProfile<DomainToViewModelMappingProfile>();
            });
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using BaseAsset.Api.Models.Assets;
using BaseAsset.Entities;
using BaseAsset.Api.Models.Food;
using BaseAsset.Api.Models.group;
using BaseAsset.Entities.Dto;
using BaseAsset.Api.Models.Enter;
using BaseAsset.Api.Models.Home;
using BaseAsset.Entities.CaseDto.Req;
using BaseAsset.Entities.CaseEntities;
using BaseAsset.Api.Models.service;
using BaseAsset.Api.Models.Item;

namespace BaseAsset.Api.Mappings {
   public class DomainToViewModelMappingProfile : Profile {
 
        public  DomainToViewModelMappingProfile() {
            //来源,目标
            CreateMap<en_enter_object, EnterObjectModel>();    
            CreateMap<en_enter_object, EnterObjectViewModel>().ForMember(d=>d.name,opt=> {
                opt.MapFrom(a => a.name + a.idcard);//重写映射规则
            });
        }
    }
}

使用:

var enterObj = new EnterObjectViewModel();
enterObj = Mapper.Map<en_enter_object, EnterObjectViewModel>(obj);

以上是关于AutoMapper使用的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core Automapper的Nuget安装和配置以及demo示例代码

AutoMapper 初次使用心得

使用 automapper 更新实体框架实体

ASP.NET Core 中的对象映射之 AutoMapper

ASP.NET Core 3.1使用AutoMapper(基本使用)

ASP.NET Core搭建多层网站架构6.2-使用AutoMapper映射实体对象