[非专业翻译] Mapster

Posted 玩双截棍的熊猫

tags:

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

[非专业翻译] Mapster - 基本使用

系列介绍

[非专业翻译] 是对没有中文文档进行翻译的系列博客,文章由机翻和译者自己理解构成,和原文相比有所有不通,但意思基本一致。

因个人能力有限,如有谬误之处还请指正,多多包涵。

正文

本文将说明 Mapster 的基本用法,原文地址为: 链接

映射到一个新的对象

Mapster 创建 目标对象 并将符合规则的成员映射到目标对象中:

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

映射到现有对象

创建一个对象,Mapster将把 源对象 映射到这个对象:

sourceObject.Adapt(destObject);

Queryable Extensions

Mapster 还提供了对 IQueryable 的映射扩展:

using (MyDbContext context = new MyDbContext())
{
    // 使用 ProjectToType 映射到目标类型
    var destinations = context.Sources.ProjectToType<Destination>().ToList();

    // 手动编写映射
    var destinations = context.Sources.Select(c => new Destination {
        Id = p.Id,
        Name = p.Name,
        Surname = p.Surname,
        ....
    })
    .ToList();
}

以上是关于[非专业翻译] Mapster的主要内容,如果未能解决你的问题,请参考以下文章

[非专业翻译] 高性能对象映射框架

简单好用的对象映射器——Mapster

如何将此 JavaScript 代码片段翻译成 Parenscript?

可能是.NET领域性能最好的对象映射框架——Mapster

EF Core 相关的千倍性能之差: AutoMapper ProjectTo VS Mapster ProjectToType

GLSL:使用片段着色器进行对象翻译