Skip to content

[TOC]

链接

C# Mapster 对象映射器(C#对象映射器) - 一颗花生豆 - 博客园

步骤

一、安装

C
# 核心库
Install-Package Mapster
 
# (推荐) 如果你使用 ASP.NET Core,安装此包以获得更好的集成
Install-Package Mapster.DependencyInjection

二、配置映射(在 Program.cs 或单独的配置文件)

C


// 在 app.Run() 之前,或其他合适的位置配置映射
TypeAdapterConfig<StudentDto, Student>.NewConfig()
    .Map(dest => dest.Id, src => 0) // 手动设置 Id 为 0
    .Map(dest => dest.Name, src => src.Name)
    .Map(dest => dest.Age, src => src.Age)   // 假设你已按建议改为 PascalCase
    .Map(dest => dest.Sex, src => src.Sex);
    // 如果属性名完全匹配,.Map(...) 行可以省略,Mapster 会自动映射
 
            // Add services to the container.
            // 添加 Mapster 服务(必须在 AddControllers 之前或之后,但要确保添加)
            builder.Services.AddMapster(); // 这会注册 IMediator 等服务

三、调用

C
[HttpPost]
public IActionResult PostJson(StudentDto studentDto)
{
    // 直接调用 Adapt 扩展方法
    Student student = studentDto.Adapt<Student>();

    // 其他逻辑处理...

    return Ok(student);
}