问题标签 [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.
asp.net-core - Automapper 和 EF 导航属性
使用 ASP.NET MVC Core 和 Entity Framework Core,我正在尝试创建一个简单的网站。
我已经定义了我的模型:
以及相应的视图模型:
我已经使用相应的映射器定义了一个 Automapper 配置文件:
我尝试加载一个Club
实体,其中包含导航属性Teams
( _context.Club.Include(c => c.Teams).ToList()
)。这按预期工作,它返回一个带有团队列表的俱乐部。但是当我尝试将此实例映射到 ClubViewModel 时,我收到502.3 错误,并且我的调试会话立即结束。
好像我错过了一些微不足道的东西,但我根本看不到它。Windows 事件日志中没有任何信息,我在 IIS Express 日志记录中找不到任何有用的信息 (%userprofile%\documents\IISExpress)
是什么导致了崩溃?
c# - AutoMapper not calling AfterMap when mapping a dynamic proxy
Let's say I've designed a class A
and also I've designed a DTO class called Dto
.
If A
is a dynamic proxy generated with Castle DynamicProxy, AutoMapper won't fire AfterMap
:
In the other hand, if I run the following code, AfterMap
will be called:
Also, MappingConfiguration
is configured to automatically register types:
Currently I'm using AutoMapper 6.0.2. I can't figure out why this isn't working.
Update
After some trial-errors, It started to work once I commented out config.CreateMisstingTypeMaps
or I set it to false
.
I suspect that AutoMapper is creating a map between the DTO and AProxy
(which is a type generated during run-time) and prioritizes that mapping over the Dto
and A
as is.
Thus, how may I configure AutoMapper to both create missing type maps and also support my scenario?
c# - AutoMapper 小类到带有验证的大类
我有一个包含 30 多个属性的大类,我需要从一个包含大约 6 个属性的小类映射到它,这些属性应该自动映射(同名,相同类型)。我不想在映射配置中维护 24 个以上的 .Ignore() 列表,但我确实希望能够针对我的所有其余映射运行 AutoMapper 的验证例程;不过,我并不特别关心这个映射是否经过验证。
我已经尝试过 ReverseMap 和一些 Ignore* 方法来看看哪些方法可行。我认为 ReverseMap 会是诀窍,但要么我用错了,要么它没有做我理解的事情。它似乎没有很好的记录。
为了清楚起见:
谢谢!
.net - AutoMapper 产生异常
我在 .NET EF 项目中使用 AutoMapper 6.0.2,但我似乎无法让 AutoMapper 工作。
在使用 AutoMapper 4.xx 的教程中使用了:
我在下面尝试过,但是以后使用 Mapper.Map 时总是会出现异常。
和
c# - 使用 AutoMapper 进行集成测试无法初始化配置
框架和包
集成测试
启动.cs
问题
调用控制器方法后集成测试失败:
它失败是因为 AutoMapper 尚未初始化。我理解这一点的方式是,既然TestServer
有UseStartup
方法,它应该使用apiStartup.cs
类中配置的所有服务(UseContentRoot
指向我的api项目根)
这显然没有发生。有人可以告诉我如何配置,TestServer
以便正确选择 AutoMapper 配置吗?
automapper-6 - 避免重复的 CreateMap使用配置文件时调用?
我们使用 AutoMapper Profiles 来保持我们的映射分散。这很好用,但是当有重复的 CreateMap 调用时,我们有时会遇到一些难以调试的问题。有没有办法防止这种情况?这似乎应该由框架原生支持,以减少难以发现的错误。
我遇到了这篇描述我正在寻找的东西的帖子,但我认为它从未实现过。
asp.net-mvc-5 - AutoMapper 6 - 如何创建忽略并映射对象列表的映射
我是 AutoMapper 的一个小新手,我在 Stackoverflow 和 Github 上几乎找不到关于 v6.0 的信息。我需要这个问题的帮助
我有这两个实体:
还有他的 ViewModel:
以及 DocFinanceiro 和 DocFinanceiroViewModel 之间的映射:
当我仅设置其中一个属性时,此映射有效
.ForMember(x => x.ValorPago, y => y.Ignore())
或者
.MaxDepth(1).PreserveReferences();
,但是当我尝试两个导致异常时。我到处搜索,但没有成功。
以及我进行映射的控制器:
对不起,如果犯了一些错误,但我不知道该怎么办......
c# - AutoMapper Ignore 不处理实体更新
我知道这个问题在另一个线程中得到了回答。我尝试了建议的方法,但仍然无法正常工作。
这是我的实体和模型映射...
子金额的映射
而且我试图忽略实体中的 PK 和 FK,使其不被模型中的内容更新。
在服务层-实体从 Db 加载数据,然后调用映射器以更新除 FK 和 PK 之外的所有属性,如下所示。
令我惊讶的是,Amount.Id 和 Amount.ItemId 总是在子 Amounts 上更新为 0。缺少任何明显的东西吗?
PS:实体实例“doc”不是代理,所以不是代理可能导致不正确的映射。
c# - 使用自动映射器映射客户列表
使用 Automapper 我试图将一个对象映射到另一个对象。一个属性是一个名为 Task 的类,其中包含一个客户列表。另一个类称为 Result 并包含客户计数以及另一个客户列表。
这是我目前的方法,可以正确地将信息填充到订单属性中,但结果失败,结果仍然为空。我怎样才能把列表变成结果?我需要如何更改地图,我是否需要在两个方向上创建地图,或者这没有必要?
这是我目前的课程(客户):
客户邮局: