886c34821efc7096c759188e99c4d69d.png

633aeab2daa40804acd300adc3024b56.gif

2380bc20498babc22466663f34e72bed.png

你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用!

Mapster 是什么?

Mapster 是一个 .NET 库,它提供了一种简单的方式来实现对象之间的映射。它使用了一个基于约定的自动映射策略,让你可以轻松地将一个对象转换为另一个对象。

编写映射方法是一项机器工作。不要浪费你的时间,让 Mapster 来做吧。

安装

使用 NuGet CLI 安装 Mapster:

Install-Package Mapster

或者使用 .NET Core CLI 安装 Mapster:

dotnet add package Mapster

映射到新对象

var destObject = sourceObject.Adapt<Destination>();

映射到现有对象

sourceObject.Adapt(destObject);

依赖注入

还可以通过依赖注入获取 IMapper 实例,所以在从 automapper 迁移到 Mapster 时,基本上不需更改代码。

注入 Mapster 服务。

services.AddMapster();

然后和 DI 一起使用

public class Test
{
    public Test(IMapper mapper)
    {
        var sourceObject = mapper.Adapt<Destination>();
    }
}

为什么选择 Mapster?

Mapster 旨在提高速度和内存效率。它可以获得 4 倍的性能提升,同时仅仅使用了 1/3 的内存。 

测试报告

3883283a540bf2e01cc169cb0958f66a.png

Mapster 是一个非常方便的库,它可以大大简化 .NET 项目中对象之间的映射工作,并且具有很好的可扩展性和灵活性。

往期推荐:

在 .NET 中执行 JavaScript 代码

适用于 .NET 的开源文本差异对比组件

基于 abp 微服务架构的开源低代码平台

开源轻量的 .NET 监控工具 - 看门狗

使用 C# 开发的轻量级开源数据库 LiteDB

项目地址

在 Dotnet工具箱 公众号内,回复 44,即可获取项目地址。

4217d82f7109ef458f933651b67739f8.jpeg

Dotnet 工具箱

扫码关注我们

dbf20d5ebeb5a9347fb544ba722f2430.png

分享

3dc636ede3920244daec6935c73b79d9.png

点收藏

14adda6edf9ed1e4f9bbb4281c9dcda9.png

点点赞

7c65ae0df1e4ea5cae9a7ae6d348b4b8.png

点在看

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐