.NET 9里,如何用Mapster高效实现对象映射到?
摘要:前言 在日常开发中,我们常常需要将一个对象映射到另一个对象,比如将数据库实体转换为数据传输对象(DTO),或将请求模型映射为领域模型。这个过程通常涉及大量重复性代码,如果每次都手动编写,不仅严重影响开发效率,而且随着项目规模不断增长,还容易
前言
在日常开发中,我们常常需要将一个对象映射到另一个对象,比如将数据库实体转换为数据传输对象(DTO),或将请求模型映射为领域模型。这个过程通常涉及大量重复性代码,如果每次都手动编写,不仅严重影响开发效率,而且随着项目规模不断增长,还容易出现错误(如:属性遗漏、手写时写错或复制粘贴失误等)。
本文我们的主要内容就是讲解如何在ASP.NET Core 9.0 Web API项目中使用 Mapster 快速、高效的实现对象映射。
Mapster 介绍
Mapster 是一个开源免费(MIT license)、快速、高性能、灵活且易于使用的 .NET 对象映射库,用于在 .NET 用程序中进行对象之间的转换和映射操作,大幅减少手动赋值带来的重复代码、人为错误和维护成本。
开源地址:https://github.com/MapsterMapper/Mapster
在线文档:https://github.com/MapsterMapper/Mapster/wiki
安装 Mapster 相关包
方式一、NuGet 包管理器安装
在 NuGet 包管理器中搜索:Mapster和Mapster.DependencyInjection安装:
Mapster 核心功能包
Mapster.DependencyInjection 依赖注入集成包
方式二、.NET CLI 安装
dotnet add package Mapster --version 7.4.0#核心功能包
dotnet add package Mapster.DependencyInjection --version 1.0.1#依赖注入集成包
在 Program.cs 中注册 Mapster 服务
varbuilder = WebApplication.CreateBuilder(args);
// 注册 Mapster 服务
builder.Services.AddMapster();
// 注册 Mapster 映射规则
MapsterConfig.Register();
基础映射一行代码搞定
接下来我们分别定义一个源对象(Student)和一个目标对象(StudentViewModel),它们的属性名和类型完全一致。
