问题标签 [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 投票
1 回答
42 浏览

c# - 作为集合类型的映射属性

假设我在业务层中有这样的类:

如何将业务层中的订单类映射到模型层中的订单类?我试过这个:

由于 Order 类中的 OrderItem 属性,它不起作用。如果我删除 OrderItem 属性,那么它可以工作。如何在映射中包含 orderitem 属性。

我正在使用 Automapper 6.02 版。

0 投票
2 回答
117 浏览

c# - 为什么 Automapper 会自动将 Driver.Name 映射到 DriverName

我有以下课程:

和查看模型类:

我有以下 Automapper 规则:

并尝试使用:

它有效!为什么?ScheduledDeductionDetailVM 具有属性 DriverName ,可以从 ScheduledDeduction.Driver.Name 中获取,并且根本没有描述。但它映射正确......

0 投票
1 回答
82 浏览

asp.net-core - .Net Core 中未解决 Automapper 依赖项

在此处输入图像描述

当我从 EF6 迁移到 Ef Core 时,我想在我的项目 Automapper 中添加参考。所以我需要添加我用过的自动映射器。当我尝试从包控制台添加它时,它会成功安装,但实际上它不是我在右窗格中看到的黄色。

你能帮我吗,我还需要在 json 文件中添加其他依赖项吗?

先感谢您。

0 投票
2 回答
5136 浏览

c# - 在 WPF 应用程序中如何以及在何处实现自动映射器

我有BusinessLayer, DTO library,DataService, EntityModel(wher EDMX sits),DTO 库指的是业务层和数据层。我正在尝试automapper在数据层中实现,想要将实体对象映射到 DTO 对象并从dataService库中返回 DTO。

目前正在这样做

如何将所有映射移动到一个类,并且 automapper 应该在调用 dataserive 时自动初始化?

0 投票
1 回答
2747 浏览

c# - 如何在解决方案中将 Automapper 4.2.1 升级到 6.1.1。我错过了什么?

我正在从 nuget 更新我的 automapper 4.2.1,它安装了 automapper 6.1.1 版本。在旧版本中,所有映射都可以正常工作,但是当我更新我的自动映射器库映射时,它说缺少类型映射配置或不支持的映射。使用时映射类型Mapper.Map<Class1,Class2>(result)。我正在使用配置文件进行配置global.asax。我的项目是 C# MVC,这是我的代码;

在 Global.asax

我的映射器配置

这是我的一个配置文件示例代码

在控制器中

这行是个例外。为什么我收到此错误?(缺少类型映射配置或不支持的映射。映射类型:TreeCategoryViewModel -> TreeCategoryDtos Project.Models.ViewModel.TreeCategoryViewModel -> Project.BusinessLayer.CategoriesBL.Dtos.TreeCategoryDtos)


现在错误消息已更改。这就是我现在得到的“映射器未初始化。使用适当的配置调用初始化。如果您尝试通过容器或其他方式使用映射器实例,请确保您没有对静态 Mapper.Map 方法的任何调用,并且如果您使用 ProjectTo 或 UseAsDataSource 扩展方法,请确保传入适当的 IConfigurationProvider 实例。 "

但是错误来自这个类。在我的模型映射中。

我正在使用 AutomapperConfigurations 在 global.asax 中调用我的个人资料。你可以在上面看到这些代码

0 投票
2 回答
2498 浏览

c# - C# Automapper 6.1.1 - 集合/列表目标属性丢失值实体框架 6

使用 Automapper 6 映射集合时遇到问题,我找不到解决方案。在updatedArticle下面的对象中,我有映射后留下的旧值CreatedUpdated值,因为它们在视图模型中不存在。但是,Descriptions 中的Created和中的值会丢失。Updated通过视图模型传入的值都已正确更新。我究竟做错了什么?Automapper 也丢失了 Article 的 Entity Framework 6 映射,因为这些值也丢失了。

控制器方法:

映射:

视图模型:

楷模:

0 投票
1 回答
1013 浏览

c# - C# Entity Framework 6 - AutoMapper 6 - Collections/List - 添加和更新工作,但删除项目会引发错误

正如标题所说,我可以添加和更新,但在删除时出现错误。

操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。

我知道Description在这种情况下,它只会获得一个空外键,但永远不会被删除。我见过一些例子,他们建议遍历每个子项并一个一个地删除它们。Imao我认为应该有更好的方法。我正在寻找的是一种影响最小的解决方案,只需告诉 EF 删除整个项目,而不仅仅是使外键无效。

https://stackoverflow.com/a/5540956/3850405

使用 AutoMapper、AutoMapper.Collection 和 AutoMapper.Collection.EntityFramework。

控制器方法:

映射:

视图模型:

楷模:

0 投票
1 回答
1902 浏览

c# - AutoMapper - 将 Json 字符串属性映射到基于接口的对象

我有一个像这样的源类:

我正在映射到这个目标类:

我想将使用接口的Source.SubscriptionCriteriaJson属性映射到。Dest.SubscriptionCriteria可以使用来确定接口的具体类Source.SubscriptionTypeId。我试图在这里解决两个问题以映射到SubscriptionCriteria

  1. 将 json 字符串反序列化为ISubscriptionCriteria对象。
  2. 映射到ISubscriptionCriteria基于的正确具体类型SubscriptionTypeId

任何想法/指针我如何在 AutoMapper 中实现这一点?我是 AutoMapper 的新手,所以我仍然在摸索。

到目前为止,这就是我对其余映射的了解:

0 投票
2 回答
756 浏览

c# - 带有实体框架的 C# AutoMapper - 适用于列表但不能使用单个可为空的实例

我有一个非常奇怪的错误,我无法理解。我正在使用 AutoMapper 6AutoMapper.CollectionAutoMapper.Collection.EntityFramework.

https://github.com/AutoMapper/AutoMapper.Collection

从下面的屏幕截图中可以看出,除了 Image 为 null 之外,每个组件都进行了更新updatedContact。但是,如果我只为updatedImage它做一个显式映射。它还可以毫无问题地更新图像集合。有没有人经历过这个?其他单个属性也可以,但由于某种原因Image会造成麻烦。

在此处输入图像描述

映射:

文件:

0 投票
2 回答
1753 浏览

c# - 自引用循环导致 map 堆栈溢出

根据文档,应尽可能为 AutoMapper 自动设置 PreserveReferences。

从 6.1.0 开始,PreserveReferences 会尽可能在配置时自动设置。

https://github.com/AutoMapper/AutoMapper/wiki/5.0-Upgrade-Guide

我也尝试将 MaxDepth 设置为 1,但我仍然得到以下映射的堆栈溢出异常。我可以以某种方式解决这个问题还是需要修改视图模型?

导致堆栈溢出异常的代码:

实体:

查看型号: