问题标签 [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 回答
285 浏览

c# - 在运行时动态构建配置

我们有一个旧的(手摇式)系统,它使用反射将一个模型映射到另一个模型。这使用模型上的属性来确定需要传输的内容。此转换在运行时在共享项目的基类内处理。

我正在考虑用 Automapper 的实现在较低级别替换它 - 在测试期间,这似乎在大容量下明显更快。

我想做的是继续使用遗留机制来生成地图以保持一致性。我可以使用下面的代码成功地做到这一点:

这工作正常。然而,它依赖于每次为每个类构建映射。相反,我想让MapperConfiguration对象静态化,以便它可以重复使用。此外,我希望能够根据需要添加到映射列表中。

即,当我的代码请求ModelA 和ModelB 之间的映射时,我想确定我是否已经有一个映射,如果没有,运行代码来映射它。

但是,MapperConfiguration似乎不允许在创建后添加映射,也似乎不允许无参数构造函数。

如何设置它以便仅在必要时运行映射代码,但避免每次都运行它?

0 投票
1 回答
250 浏览

c# - 并发访问,为什么 EntityFramework 6 不生成 DbUpdateConcurrencyException?

我必须在我们的框架中管理并发,但我无法生成 DbUpdateConcurrencyException。我们使用 SQL Server 2008、EF 6 和 AutoMapper 5。

SQL

模型

视图模型

控制器

商业

自动映射器

在我的测试中,RowVersion 字段在数据库中具有不同的值,但 SaveChange 不会生成异常 DbUpdateConcurrencyException。

SQL 跟踪

0 投票
0 回答
672 浏览

model-view-controller - Automapper 一对一映射

我有工作解决方案,但有点怀疑我是否正确。我有从中派生 3 个其他类 Ad 的基类:

我的地址类如下所示:

现在我正在使用带有此映射的自动映射器:

AutoViewModel 看起来像这样:

在我的创建和编辑操作中,我使用了这个绑定:

这种方式正确吗?有优雅的方法吗?我必须明确指定 AddressId,否则我会收到重复的外键错误消息...

0 投票
1 回答
327 浏览

c# - Automapper 5.1.1 Can't map Complex object, aways invalid

Here's my issue, I'm trying to map both this entities, and I aways get an exception:

From:

To:

Mapping:

Calling Mapper from DataBase result:

Exception:

Missing type map configuration or unsupported mapping

EDIT

Openned an issue at the GitHub for AutoMapper, you can have more information there: Automapper 5.1.1 Can't map Complex object, aways invalid #1783

0 投票
1 回答
314 浏览

asp.net-core - 如何配置和使用 automapper 5.1.1

我一直在看这个,试图弄清楚如何让 AutoMapper 工作。这是我之前的

然后是这个

最后我在我的startup.cs中有这个

我现在的困难是如何让它在我的控制器中工作,以及我是否走在正确的轨道上。到处都是各种不同的信息和不同的方法,我非常困惑提前谢谢

0 投票
1 回答
483 浏览

mysql - 'where 子句'中的 EF OData MySql 未知列'Project3.x'

我正在使用 OData V4、EF6 和 MySql 5.6/5.7 以及以下模型和表格。通过此调用 odata/Applications,我得到了 Application 资源的结果,但是当我扩展角色时出现此错误,如下 odata/Applications?$expand=roles。

错误:执行命令定义时发生错误。有关详细信息,请参阅内部异常。“where 子句”中的未知列“Project3.ApplicationId”

我知道这与映射有关,但我看不出是什么。

) 引擎=创新;

) 引擎=创新;

这是 OData 操作方法。

映射类:

我尝试了代码优先和数据库优先 edmx 的存储库,并不断收到相同的错误。

0 投票
1 回答
630 浏览

json - 通过外键从另一个表中获取相关数组

我正在使用 SQL Server 2012、MVC WebAPI、AutoMapper 和实体框架。在数据库中,我有两个具有一对多关系的表,例如类别和产品;一个类别可以有更多的产品,但一个产品只能有一个类别。我想要的是一个 json,每个类别还包含 Products.CategoryId 字段的相关产品数组。

这是我在互联网上搜索后所做的:

我的结果是包含空或空 Products 数组的类别列表,我找不到解决方案。

我怎样才能达到我的结果?谢谢

编辑:

实体框架模型

Category 和 Product 只是示例,如果视图模型属性名称不同,请忽略。

0 投票
1 回答
389 浏览

c# - 嵌套集合在 AutoMapper 5.1 中不起作用

尝试从 v4.2 升级到 AutoMapper 5.1 并发现集合在运行时未映射 - 源对象在集合中有项目,但映射的目标属性为空。

在 4.2 下,使用相同的映射配置,一切都按预期工作(除了 CreateMap() ctor 中的 MemberList.None)

我有这样的 DTO

像这样的视图模型

像这样映射确认

在 Mapper.Map<> 调用之后,StateViewModel 的 Counties 集合为空(包含 0 个项目的列表),即使源对象的 .Counties 集合中有项目:

任何线索将不胜感激!

0 投票
0 回答
175 浏览

c# - 实现新版 AutoMapper 的问题

您好我正在创建以下返回数据传输对象的 Web API 方法。新版 Auto Mapper 的工作方式有所不同。以下是旧方法,有人可以帮助我采用新方法

这是使用旧 AutoMapper 的 AutoMapping 示例

使用新方法进行自动映射

我创建了一个名为 MappingProfile 的类

在 Global.asax 中,我编写了以下代码

我在 GetNewNotifications() web api 方法中遇到编译时错误,例如在以下行 Mapper.Map(ApplicationUser); 说目标参数中提到的类型不能是类类型。它正在等待对象。另外,如何使用我在第一个示例中所做的新方法在第二个示例中返回数据传输对象。另外,是否有人可以提出更好的实施方式?

0 投票
1 回答
440 浏览

c# - 迁移到 AutoMapper 5

我正在使用 AutoMapper 4.X 如下(简化片段)

resolutionResult调用时AutoMapper 5.X 不再有,config.ResolveUsing因此我无法从中获取我想要的信息 ( MemberName)。

任何想法如何调整代码以使其与 AutoMapper 5 一起使用?