问题标签 [automapper-3]
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.
c# - 复杂对象/嵌套映射中的自动映射器和映射列表
我正在从旧的映射标准转换为自动映射器。
这是我的课
无论我如何配置忽略或自定义映射,它似乎都不喜欢这种嵌套。任何 Automapper 专家都可以告诉我如何使用这样的复杂对象进行映射。实体类是通过 EF6 edmx 文件生成的。
c# - AutoMapper:最大图形深度
我有以下与列表相关的实体:
国家 -> 地区 -> 自治市 -> 街道
当我将 Country 对象映射到我的 DTO 时,AutoMapper 会自动投影我的整个图形,一直到 Streets,这是一个很好的默认设置。在特定用例中,我只想映射根对象(国家)及其直接子对象(区域)。然后,这些地区应该有一个空的市镇列表(或为空)。
实现此目的的一种方法是创建这样的地图:
这意味着在将 Region 投影为根对象时,将忽略其市镇列表。解决方法是为每个可能的根对象创建单独的 ConfigurationStore 对象,但这会导致很多不同的 ConfigurationStore。有没有办法告诉 AutoMapper 只映射到对象图中的某个深度?
c# - 使用 Automapper 仅映射特定类型
我如何将Source
类映射到Destination
,但只能Decimal
使用 Automapper 类型?
automapper - 不支持的映射异常 - Automapper 中缺少类型映射配置?
我确定我缺少一些简单的东西。首先,我将展示我为连接管道而编写的所有代码,然后我将展示异常消息。然后,我将列出我试图解决的问题。
LicenseTrackerProfile
映射器引导程序
映射库
通用映射器
视图模型映射
请注意,正在调用初始化方法和配置方法,因此它们不会被“遗漏”。
例外
缺少类型映射配置或不支持的映射。
映射类型:软件 -> 软件 LicenceTracker.Entities.Software -> LicenceTracker.DomainEntities.Software
目标路径:软件
源值:LicenceTracker.Entities.Software
疑难解答 忽略列。我计划忽略列,从所有列开始,然后逐个取消忽略它们,直到找到问题列。但是,令我惊讶的是,当我忽略所有列时会发生错误:
域实体具有 [DataContract](在类级别)和 [DataMember](在方法级别)属性。我也将这些属性中的每一个都添加到了 EF 实体中。
除此之外,我没有想法。这一切似乎都已正确连接。
我错过了什么?
automapper - Automapper:对相同类型使用类型转换器和值解析器
我有很多 DTO 必须映射到我的域对象。一般来说,与货币价值的映射需要应用四舍五入规则。这适用于 95% 以上的情况,但我有一些数据需要不同的舍入规则。我计划做下一个:
1) 为一般舍入规则创建一个 ITypeConverter,该规则适用于此类型转换的默认值。
2)为特殊的舍入情况创建一个ValueResolver,并在成员映射中指定它们的用途。
我创建了一个测试用例来尝试我的方法,但是在对特殊情况应用 ValueResolver 之后,AutoMapper 使用 TypeConverter 来获取最终值,使用一般规则。
这是错误的做法??可能是我错过了什么?
然后是测试用例:
测试结果:
c# - AutoMapper - 从 ViewModel 映射回 DTO 时,子对象保持为空
我有这张地图:
CadastroModule.Model.Cliente (MVVM 模型):
Sistema.DataEntities.Models (POCO):
Sistema.DataEntities.Models (POCO):
当我尝试它时它完美运行:
但是当我需要回到 poco 时,我遇到了麻烦:
我的结果:
为什么 Endereco 对象具有空值?
c# - 具有相同属性名称的 AutoMapper 双向映射
鉴于这两个对象
这是进行映射的最佳方式,还是 AutoMapper 能够Roles
自行Roles
映射?
应用配置
执行
c# - AutoMapper 条件实体映射
我有一个数据库实体,它存储这样的订单地址......
我有这样的 BLL 课程......
还有这样的一堂课……
我想根据 AddressType 列将 EF 实体映射到上述类。谁能解释我该怎么做?
更新
我想映射到OR.DeliveryAddress
addressType 是否为“Delivery”以及OR.InvoiceAddress
addressType 是否为“Invoice”
到目前为止,我已经能够做到这一点,但我不知道如何在实体映射级别应用条件......
更新 2
在与@Yuliam 讨论之后,这是我可以为我的问题提出的小提琴......
.net - 没有使用带有 KeyValuePair 的 AutoMapper 进行映射
我正在构建一个通用的漂亮打印方法。我要单独处理的特殊类型之一是KeyValuePair<TK,TV>
. 为了将对象减少到已知类型,我想我会将每个对象映射KeyValuePair<TK,TV>
到一个KeyValuePair<object, object>
.
以下代码始终在 的Key
、Value
属性中产生 2 个空值proxy
。
另一方面,这个非通用版本按预期工作:
为什么?
o
在这个阶段已经被测试为一个KeyValuePair<,>
。
我在 .NET 4.0 上使用 AutoMapper 3.2.1.0。
c# - 使用相同对象和不同类型转换器的自动映射器的两种方式映射
我想使用 AutoMapper 将 DTO 映射到模型。但是我的项目包含一些用于原始类型默认值的自定义规则,例如 [string null value is "_"]、[default int value is -1] 和 [date time fields must be integer like 19990221] 等。
在我的测试中,我有一个具有 Null 字符串值的外部 DTO。但是我的内部系统模型有一个“空字符串必须表示为”_“字符串”规则(它很烂,但它是一个遗留的设计决策)。
楷模:
Automapper 类型转换器:
我的测试是:
第二个断言失败。
我必须将 DTO 映射到模型和模型到 DTO 的数百个案例,我也有同样的整数问题。我如何选择转换器来进行不同的映射?