问题标签 [automapper-9]

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 投票
2 回答
846 浏览

asp.net-mvc - 每个属性映射上的 Automapper 调用方法

我想在由通用映射器配置映射的每个属性上调用一个特定的方法 xyz()。这可能吗?

我正在使用 Automapper v 9。目的是调用 Automapper 映射的每个属性的方法,以在运行时检查添加删除数据。

0 投票
1 回答
269 浏览

asp.net-core - 使用 AutoMapper 进行多对多关系展平

我正在使用 EF Core,并且两个表之间存在多对多关系。

加入表:

关系的另一个表:

我可以使用 AutoMapper 获得如下所示的扁平对象吗?

PaymentMethodDto 是:

我的问题可能是我想在主映射中进行另一个映射。

0 投票
1 回答
196 浏览

asp.net-mvc - Automapper AddAfterMapAction 不调用方法

我正在为 Automapper 配置文件映射使用全局配置。

映射器配置

现在我正在使用表达式添加.AddAfterMapAction 。

当我使用这一行进行映射时,它没有调用 Test 方法:var dest = mapper.Map<Student, StudentVM>(StudentService.GetStudent());

我在这里做错什么了吗。因为它应该在映射时调用 Test 方法。

0 投票
1 回答
545 浏览

c# - AutoMapper 9.0.0(非静态)给出缺少类型映射配置或不支持的映射错误

我有一个使用带有静态映射的 Automapper 7.0.1 的 ASP.Net Web API。我最近升级到没有静态映射的 Automapper 9.0.0。因此,我使用了推荐的方式,即使用我的依赖容器(Unity Container)将实例注册IMapperIConfigurationProviderSingletons。

AutoMapperConfig.GetMapperConfiguration()是一个静态方法,它返回一个包含所有映射的新配置。

Therafter,我已经解决并使用IMapper了许多注册的服务PerRequestLifetimeManager,例如:

我可以看到 Unity 正确解析了 Services 和 Mapper,但是当我调用时Map()使用:

它给了我一个 AutoMapperException 说

缺少类型映射配置或不支持的映射错误

我尝试了很多事情,包括将 AutoMapper 对象注册为 PerRequest 依赖项,即使是使用静态类(没有 DI 容器)的单例,但无济于事。

我确信我的映射是正确的,因为它们在 v 7.0.1 中与静态 AutoMapper 一起使用。升级后我错过了什么?

0 投票
3 回答
340 浏览

c# - 在 .Net Core 中配置 Automapper 9.0

我遵循了官方文档,说明了 Automapper 9.0 从静态 API 的转变,但我仍然无法使其在我的 c# dotnet core App 中工作。我得到以下异常:

“AutoMapperMappingException:我的控制器类中缺少类型映射配置或不支持的映射”。

你能告诉我关于 Automapper 9.0 的配置步骤吗?

这是我执行的步骤:

启动.cs

MyMapperProfile 类

控制器类

0 投票
1 回答
419 浏览

iqueryable - Automapper Queryable Extensions 没有出现

我正在使用以下内容:

  • 实体框架核心 3.1.2
  • .Net 标准库 2.1
  • 自动映射器 9.0.0
  • Automapper.Extension.Microsoft.DependencyInjection 7.0.0

我的 AutoMapper DI 如下所示:

我有一个具有默认实现的 IMapFrom:

我有一个 DTO 类如下:

在我的处理程序中,我正在执行以下操作:

问题是“ProjectTo”不是 IQueryable 的定义。我的印象是 Automapper 有 Queryable Extensions。我错过了 NuGet 包吗?我正在关注 Northwind Traders 的示例,但我无法弄清楚我有什么不同。

我可以像这样使用 IMapper 进入“ProjectTo”:

但我更愿意将它作为 IQueryable 的一部分来做,就像你应该做的那样。

0 投票
0 回答
307 浏览

c# - AutoMapper:如何从动态映射到使用属性名称替换

我正在尝试使用AutoMapper从动态对象映射到类类型,其中动态对象在字段名称中具有下划线,而目标类型类具有拼写相同但没有下划线的属性。

源动态对象如下所示:

目标类型的类如下所示:

我尝试了以下方法,但似乎不起作用:

上面的代码导致mappedRecords数组中的所有项目都具有空值或默认属性值。我也尝试了该.Map()方法的各种重载,但仍然没有。我怀疑我缺少一些基本的配置步骤。除了基本的动态对象映射之外,官方文档没有提供很多示例

0 投票
2 回答
5414 浏览

c# - 我不断收到“需要有一个带有 0 个参数或只有可选参数的构造函数。(参数'type')”

我使用的是版本 9。我使用的是基于配置文件的配置。当我运行应用程序时, Mapper.Map<>() 方法会引发以下异常:

JobAssist.Services.ResumeBankMgmt.API.Application.ViewModels.ResumeBankViewModel 需要有一个带有 0 个参数或只有可选参数的构造函数。(参数“类型”)

我不知道这是什么原因造成的。

0 投票
1 回答
323 浏览

c# - 如何将对象映射到 KeyValuePair使用自动映射器?

我正在尝试将我的对象模型映射到 KeyValuePair,但我的结果是 KeyValuePairs,其中 Key = null 且 Value = null。

这样做的正确方法是什么?

谢谢!


ASP.NET 核心 3.1

AutoMapper 9.0.0

AutoMapper.Extensions.Microsoft.DependencyInjection 7.0.0


模型:

轮廓:

试图:

0 投票
2 回答
232 浏览

c# - AutoMapper:映射 ImmutableHashSet 的问题

我正在尝试将属性分配给Mapusing 。ReverseMapImmutableHashSetICollectionAutoMapper

Automapper 成功将ImmutableHashSet属性映射到,ICollection但无法将其映射ICollectionImmutableHashSet

这是最小的可重现示例:

考虑我有 Order如下OrderItem课程:

OrderOrderItem类需要映射到下面的和OrderDto

下面的类定义要映射到OrderProfile的 Automapper 配置文件,反之亦然。OrderOrderDto

映射和反向映射OrderOrderDto类的代码:

在映射Order objectfromOrderDto时,我得到以下异常:

非常感谢任何有助于解决此问题的指针。

更新

我以某种方式让它通过 custom 工作Converter。但我真的不知道它是如何工作的。我更新了我的映射器配置如下:

我的HashMapConverter班级:

正如你所看到的,我只是返回一个空的ImmutableHashSet,然而,令我惊讶的OrderDto是,它现在已成功映射回Order正确数量的OrderItems Count. 我本来希望Count0 因为我返回一个空的HashSet。我怀疑它正在工作,因为OrderItem并且OrderItemDto也通过AutoMapper.

我想确认我的假设并知道这是否是正确的方法。