问题标签 [mapster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
43 浏览

c# - Mapster 忽略列表中的映射

如果我有一个带有子对象列表的父对象,并且这些子对象有一个布尔值告诉它们是否应该包含在映射中,我该如何在 Mapster 中进行此过滤?

代码示例:

和 dto 对象:

似乎有一个 IgnoreIf 函数,但在这种情况下我无法让它工作。

0 投票
0 回答
39 浏览

c# - Mapster 上下文在嵌套映射中为空

如何在嵌套映射中使用 MapContext.Current?例如:

当我尝试将 src 映射到 dst 时,我会Null reference exception尝试MapContext.Current将 Foos 映射到 Bars。上下文适用于顶级映射(将设置 Dst.Name),但无法在嵌套映射上访问。我该如何解决?

0 投票
0 回答
33 浏览

mapster - 如何将值附加到现有值

使用 mapster 出现以下问题
https://github.com/MapsterMapper/Mapster

我必须上课和一个dto课。

现在我想将需求中的值映射到 ClientDto 类中的布尔值,然后返回。从字符串到布尔值很容易,我将使用以下内容:

但是我找不到映射回字符串字段的方法...映射时有什么方法可以访问目标对象?` 如下所示:

这只是一个例子!要求字符串属性中还有更多值,我必须以类似的方式进行映射。我希望我已经可以理解地解释我的问题...

0 投票
1 回答
33 浏览

c# - 循环引用导致 Mapster 堆栈溢出

Mapster 的堆栈溢出异常导致正在运行的进程终止。

0 投票
1 回答
71 浏览

c# - 如何将命令展开为复杂类型

我还没有依赖 Mapster 或 AutoMapper。现在我正在使用手写映射,因为我找不到可以用更小的代码做到这一点的映射器。

问题是我们如何将扁平结构映射到复杂对象?我认为很多人都可以从这样一个复杂对象的良好映射示例中受益。CopyOfficeAddressAsInvoiceAddress根据是否需要将办公地址复制为发票地址,我什至有一个映射条件。我到处看了看,但无法让它工作。

也许我也应该使用不同的命名来使映射算法更清晰?!

最大的问题是这样的地图是否可以由映射器解决,或者这是否复杂?我见过的所有演示都使用彼此非常相似的 dto 和模型对象。我没有得到将一个对象映射到另一个 99% 相似的对象的意义。

我有一个Command(我正在使用 Mediatr),如下所示:

我希望它映射到以下内容models

0 投票
1 回答
179 浏览

c# - Mapster 不映射

我正在将 Mapster 与 DI 一起使用,并且我正在尝试映射从 WS 接收到的对象。我正在关注本指南https://github.com/MapsterMapper/Mapster/wiki/Dependency-Injection#mapping

我注册了 TypeAdapterConfig 和 ServiceMapper

黑名单类包含卡片集合,但 web 服务返回长数组,我将其重新映射到对象。

在构造函数中注入映射器

最后这样称呼它

结果始终是具有默认值的对象

0 投票
0 回答
75 浏览

c# - Mapster ConstructUsing 与具有多个 ctor 问题的类一起使用(错误?)

我对 Mapster 有疑问。有一些课

配置:

一切都很好,对象按预期映射,但如果你再添加一个构造函数到TargetClass

在最终结果中,Value不会TargetParamValue像预期的那样包含,但是ParamValueDto,就好像结果ConstructUsing被忽略(但被调用)或覆盖一样。构造函数被正确调用 - 并TargetParamValue到达value,但最终结果将具有不正确的参数(带有ParamValueDtoin Value)。(新 ctor - 未调用)

0 投票
1 回答
49 浏览

c# - Mapster 从动态类型适配到类

我必须管理对服务的大量 API 调用,并且所有响应消息都有一个共同的结构,除了“数据”字段,它根据调用的端点以及调用是否成功而有所不同。寻找一种巧妙地管理整个情况的方法,我使用泛型和 Mapster 制作了一个令人满意的解决方案。这是一个典型的响应消息:

数据字段是完全可变的,有时是单级结构,有时是多级结构,有时是数组,有时是简单字符串,有时是空值。显然,响应消息是已知的,并且取决于被调用的端点,所以我知道当我拨打电话时会发生什么,但在某些情况下结构仍然可以改变。如果调用不成功并且出现错误,仍然会从端点返回 200,但响应如下:

寻找一个优雅而简洁的解决方案来用一种方法管理所有案例,我找到了一个解决方案:这些是我的模型:

这是我管理所有反序列化的函数:

所以我以这种方式调用我的函数:

如您所见,所采用的解决方案很优雅并且效果很好。我没有找到解决方案的唯一问题是,如果我尝试将错误的 json 放入 T 类型,Mapster.Adapt 不会失败。因此,如果我在供应商类中反序列化客户的 json,我不会注意到问题。

Mapster 有没有办法知道我要适应的对象是否与目标类型不兼容?所以我可以提出一个例外,我的程序将是完美的。

这是一个带有工作示例的 仓库 https://github.com/mmassari/MapDynamicWIthMapster

谢谢