问题标签 [automapper-6]

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 回答
2458 浏览

c# - Automapper 未正确映射 null 列表成员,当指定条件 != null 时

考虑到我指定了以下内容,当我尝试映射对象的空列表(成员)时出现问题:

代码中的简短示例:

gi.PersonList.Count = 0,如何解决?

https://dotnetfiddle.net/N8fyJh

0 投票
2 回答
1479 浏览

c# - Automapper 舍入所有十进制类型实例

我需要一种方法来为我的自动映射器配置添加舍入。我已尝试使用此处建议的 IValueFormatter:Automapper Set Decimals to all be 2 decimals

但是 AutoMapper 不再支持格式化程序。我不需要将其转换为其他类型,因此我也不确定类型转换器是否是最佳解决方案。

现在这个问题还有一个好的自动映射器解决方案吗?

使用 AutoMapper 6.11 版

0 投票
1 回答
1345 浏览

c# - 第一次在 .NET 项目中设置 AutoMapper(6.2.2)

想使用 AutoMapper 处理一些“猴子”代码。它适用于蝙蝠;现在希望在一个地方设置所有映射。所以我有:

  1. AppStart 文件夹中的静态类 AutoMapperConfiguration。
  2. 我调用 Mapper.Initialize() 的静态配置方法。我从 Global.axax.cs 调用 Configure() 在控制器中,我继续使用 Mapper.Map(src obj, dest obj)。但是,这给了我一个未映射的属性异常。

    当我在 MappingConfiguration 变量中使用 CreateMap 并执行 iMapper.Map() 时,它正在工作。这是正确的方法吗?如果是这样,如何从一个位置配置和使用它?我可以使用统一容器吗?

0 投票
1 回答
236 浏览

c# - 具有复杂 EF 实体的 AutoMapper

我有一个带有一些 FK 参考的基本表。因此,当我为更新操作检索实体时;该实体包含ICollections相关实体。我还有一个主视图模型,其中每个实体都是一个子视图模型。我的目标是使用 Automapper,例如:

为此,我有一个 MappingConfiguration ,例如:

这给了我一个未映射的属性异常,因为ICollections没有被映射。谁能指导我处理这种情况的最佳方法?

谢谢。

0 投票
1 回答
417 浏览

c# - AutoMapper:开放-封闭原则

我从给定的链接中获得了代码

开闭原理代码的 AutoMapper 代码

我正在尝试在我的项目中使用它,但由于静态 API 已从 AutoMapper 版本 4.2.0 中删除,我被卡住了。参考请看这个

请任何人帮助我如何在最新版本的 Automapper 中实现以下代码。

  1. Mapper.CreateMap(TSource, TDestination)

    /li>
  2. 获取IConfiguration已更改为IConfigurationProvider

    /li>

请需要您的建议 - 任何帮助表示赞赏。

0 投票
1 回答
640 浏览

c# - 将 viewModel 对象映射到 ICollection 实体

我有一个带有一些 FK 参考的基本表。因此,当我为更新操作检索实体时;该实体包含ICollections相关实体。我的主要 viewModel 包含Lists对应于这些ICollections. 但是,由于其他一些模型代表 1-1 映射,我有object而不是List. 但在实体内部,它们继续表示为ICollections

在尝试在 viewModel 和实体之间进行映射时,这给了我一些问题。我正在使用 Automapper 进行映射。我有

目前我从这个映射中忽略了有问题的模型并单独添加它们。有没有办法在一个映射中处理所有内容?有没有办法处理理想情况下应该是单个对象的 ICollections?

编辑

Entity1 和 EntityVM1 导致了问题。

谢谢

0 投票
1 回答
914 浏览

c# - AutoMapper 和 IDataReader

我想将数据映射IDateReader到某个类,但不能简单地做到这一点。我写了以下代码:

UPD:我尝试使用 Nuget 中的 Automapper.Data 但它依赖于 NETStandard.Library 但我使用 .NET Framework 4.5 但这种方式对我不利,因为我必须为每一列描述映射规则。是否可以避免描述所有这些规则?

0 投票
2 回答
524 浏览

c# - Automapper 6.2.2 条件展开?

我最近更新到最新版本的 Automapper (6.2.2) 以利用通过 .ReverseMap() 进行的展平。一切似乎都很顺利,直到我意识到它总是创建一个空对象,而不管展平的源属性是否具有值。完全可以理解,但为了防止这种情况,我尝试添加一个条件,如下所示:

这似乎不起作用,我一直在寻找解决方案太久了。

所以我的问题是,有没有办法在使用 ReverseMap 时有条件地阻止 automapper 初始化目标对象(取消扁平化)?

更新

我通过执行以下操作提出了解决方法,但我仍在寻找合适的解决方案。

0 投票
0 回答
86 浏览

automapper - 按命名约定映射属性

我正在使用 automapper 在数据库和另一个表示之间映射一些对象。

实体看起来像

如您所见,名称和类型未对齐。
由于我有很多实体和对象,我宁愿不要CreateMap<A, B>().ForMember(d => d.Id, mex => mex.MapFrom(s => s.RowId));.

不必执行上述约定:

这不是我怀疑它做的事情,我无法弄清楚如何使用 ReplaceName 约定。所以我想听听关于如何映射这些类型的想法。

MyEntity两者MyObject都是基本类型,所以我也可以使用它。

我试图用伪代码归档的内容:

ForAllMembers
根据@lucian-bargaoanu 的推荐,我尝试调查ForAllMembers
我在 MapperProfile 中执行了以下操作:

调试器也提示我,ForAllMember按预期执行,它仍然无法映射。

我为 ForAllMembers 创建了一个 GIST:https ://gist.github.com/anonymous/511a1b69b795aa2bc7e7cd261fcb98b1

0 投票
2 回答
149 浏览

c# - Automapper 6.0.2.0,Mapper.Map() 映射子实体时抛出 StackOverflow

直截了当,我有以下模型:

而且,我在 DTO 中有它们的等价物:

对于此映射初始化,我们使用 Profiles,如下所示:

最后,在我得到注释错误的地方进行映射的逻辑......

当我试图将我的模型(List)映射到 DTO(List)时,我的问题就开始了;错误是众所周知的“ StackOverflow Exception ”。如果我使用“ PreserveReferences() ”方法,为什么仍然抛出相同的异常?在尝试了不同的深度级别(1、2、3 ...)之后,“ MaxDepth()方法”也是如此。

我花了太多时间试图解决这个问题,老实说,我已经没有想法了。如果有人知道在这里做什么,我将不胜感激。谢谢,提前和问候!