问题标签 [automapper-5]

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

entity-framework-6 - 实体框架更改跟踪和自动映射器

实体框架类:

ORM 和 DAL 模型。自动映射器配置为:

存储库类:

主要条目:

在我的项目中,我有 ORM、DAL 层。在 Update 方法中,我只想更新更改的值。当然,如果直接像这样使用 ORM.Car 进行更改:

这很好用。实体框架只能更新 Name 属性和相关的 Wheel 对象。但在我的项目中,我有不同的层次。因此,我想更改 DAL.Car 的一些属性,而不是使用 Automapper 将此对象映射到 ORM.Car 并像我对上面的 ORM.Car 所做的那样应用更改。但是在使用 Automapper 进行映射后,我无法做到这一点,因为 Automapper 在映射后会创建新对象,并且实体框架无法仅更新所需的属性,例如使用 ORM.Car 直接导致动态代理,或者我不知道。我想要看起来像这样的通用更新:

其中 newCar 是从 DAL.Car 转换而来的 Car;我可以这样做吗?

0 投票
0 回答
558 浏览

c# - Automapper 5,问题映射表达式

我有一个简单的数据阅读器类来从我的数据库中读取“CspUsageDetails_Live”实体。这些使用自动映射器映射到 CspUsageDetailImportDto 模型和从 CspUsageDetailImportDto 模型映射。

阅读器类有一个名为 Get 的方法,它接受一个表达式Expression<Func<CspUsageDetailImportDto, bool>>Expression<Func<CspUsageDetails_Live, bool>>在将其传递给实体框架之前,我需要将其映射到。包括表达式映射在内的所有代码都运行良好,直到我调用if (liveEntities.Any()) 这里我得到一个错误'ABD.Contracts.Model.CspUsageDetailImportDto'类型的ParameterExpression不能用于'ABD.Persistence.CspUsageDetails_Live'类型的委托参数。

我的 AutoMapper 绑定方法如下

我的 Reader Get 方法如下

在过去的一个小时里,我一直在谷歌上搜索 AutoMapper 和 Expressions,但我一无所获。我想知道任何人都可以对我的问题有所了解。非常感谢您的回复。

0 投票
2 回答
150 浏览

c# - AutoMapper 5.2 映射时没有记录

我正在使用 automapper 5.2 从 Dto 映射到 Model 以及从 Model 到 Dto。但是我遇到的问题是,当我进行映射时有 0 个元素。这两个实体是相同的。

AutoMapperConfiguration.cs

PaisService.cs

会发生什么?

0 投票
1 回答
2281 浏览

c#-4.0 - Automapper:映射匿名/动态类型

我需要一些帮助来使用 Automapper 映射匿名对象。目标是在 ProductDto 中结合 Product 和 Unity(其中 unity 是产品的属性)。

AutommaperCreateMissingTypeMaps配置设置为true.

我的课程:

测试代码

配置文件中添加了两个地图:

0 投票
1 回答
343 浏览

c# - 如何将 CreateMissingTypeMaps 选项和手动映射与 EF 代理类一起使用?

我有一种情况需要在“同时”(或至少在相同的配置下)使用 CreateMissingTypeMaps 和手动映射。

场景:域和视图模型类是使用配置文件手动映射的。CreateMissingTypeMaps 属性是必要的,因为我有一个反腐败层来访问返回匿名对象的遗留系统。

问题是手动映射设置为 true 时,它​​的映射被 CreateMissingTypeMaps 选项覆盖,而当它为 false 时,我无法映射匿名对象。

我尝试在 MapperConfiguration、配置文件以及具有映射条件的配置文件中设置 CreateMissingTypeMaps,但它们都失败了。

下面的代码是我尝试做一个只应用于匿名对象的条件配置文件。

[编辑:]最初的问题没有提到 EF,但我发现它的代理类是问题的一部分。

0 投票
0 回答
41 浏览

asp.net-mvc - AutoMapper 5.2 错误和 Mvc Web de Dto 一个 MV

我有一个带有 wcf 的 mvc 项目,我正在尝试自动映射 5.2 从 DTO 传递到 ViewModel 的视图并给我以下错误。

AutoMapperConfiguration.cs

全球.asax

家庭控制器.cs

PaginaDto.cs 和 MaginaVM.cs

错误

这可能会发生,因为我将它安装在带有 DTO 到实体的 WCF 服务上并且它可以正常工作

0 投票
0 回答
1318 浏览

c# - Automapper 循环参考

我有两个对象

我使用 Automapper 5.2.0 映射它们

得到循环引用和堆栈溢出。

更新不完全是循环引用导致 Automapper 堆栈溢出

当我映射一个订单时,我需要收到一个包含多个案例的订单

  • 命令
    • 案例(.Order 必须为 null 或引用父订单)
    • 案例(同)

此外,当我映射案例时,我需要填写相应的订单。

  • 案子
    • 订单(无案例)
0 投票
3 回答
1378 浏览

c# - AutoMapper 将未映射的属性映射到 Dictionary / ExtensionData

如何使 AutoMapper 将缺少的未映射属性映射到目标对象内的字典?(如序列化期间的ExtensionData

例子:

现在我想要以下结果:

* 编辑 *

最后,我正在寻找没有反射的解决方案。含义:在设置/配置/初始化期间允许反射,但在映射本身期间,我不希望由反射引起任何延迟。

* 编辑 *

我正在寻找一个通用的解决方案,就像序列化程序一样。

0 投票
2 回答
11947 浏览

c# - AutoMapper 在验证期间抛出“无默认构造函数”

我有要映射的类,但它们没有默认构造函数,我不希望它们拥有。这是因为我只映射到/从已经存在的对象。

AutoMapper.AutoMapperConfigurationException :找到未映射的成员。查看下面的类型和成员。添加自定义映射表达式、忽略、添加自定义解析器或修改源/目标类型对于没有匹配的构造函数,添加无参数 ctor、添加可选参数或映射所有构造函数参数

Order -> OrderProcessor(目标成员列表)

没有可用的构造函数。

在 Tests.cs:line 中的 Test()

当我不想创建新对象时,如何使配置断言通过以及为什么它会失败?

0 投票
1 回答
759 浏览

c# - Automapper:处理对象到对象映射的可空属性

我正在使用 Automapper 6.0.2。我有一个带有以下代码的控制台应用程序。我试图通过放置对象到对象映射关系的条件来实现排序或部分更新功能。所以我正在使用:

但是,Automapper 似乎在映射期间将可空对象属性重新创建为具有默认值的不可空形式Mapper.Map(newViewModel, newModel)。我希望在下面的代码中newModel保持不变。

预期对象

在此处输入图像描述

但我明白了

在此处输入图像描述

我该如何解决这个问题?如果我检查默认的 DateTime 和 int 值,我将被限制为 int 属性使用高于 0 的值。我需要检查 null 而不是默认值