问题标签 [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.
c# - 作为集合类型的映射属性
假设我在业务层中有这样的类:
如何将业务层中的订单类映射到模型层中的订单类?我试过这个:
由于 Order 类中的 OrderItem 属性,它不起作用。如果我删除 OrderItem 属性,那么它可以工作。如何在映射中包含 orderitem 属性。
我正在使用 Automapper 6.02 版。
c# - 为什么 Automapper 会自动将 Driver.Name 映射到 DriverName
我有以下课程:
和查看模型类:
我有以下 Automapper 规则:
并尝试使用:
它有效!为什么?ScheduledDeductionDetailVM 具有属性 DriverName ,可以从 ScheduledDeduction.Driver.Name 中获取,并且根本没有描述。但它映射正确......
c# - 在 WPF 应用程序中如何以及在何处实现自动映射器
我有BusinessLayer, DTO library,DataService, EntityModel(wher EDMX sits)
,DTO 库指的是业务层和数据层。我正在尝试automapper
在数据层中实现,想要将实体对象映射到 DTO 对象并从dataService
库中返回 DTO。
目前正在这样做
如何将所有映射移动到一个类,并且 automapper 应该在调用 dataserive 时自动初始化?
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 中调用我的个人资料。你可以在上面看到这些代码
c# - C# Automapper 6.1.1 - 集合/列表目标属性丢失值实体框架 6
使用 Automapper 6 映射集合时遇到问题,我找不到解决方案。在updatedArticle
下面的对象中,我有映射后留下的旧值Created
和Updated
值,因为它们在视图模型中不存在。但是,Descriptions 中的Created
和中的值会丢失。Updated
通过视图模型传入的值都已正确更新。我究竟做错了什么?Automapper 也丢失了 Article 的 Entity Framework 6 映射,因为这些值也丢失了。
控制器方法:
映射:
视图模型:
楷模:
c# - C# Entity Framework 6 - AutoMapper 6 - Collections/List - 添加和更新工作,但删除项目会引发错误
正如标题所说,我可以添加和更新,但在删除时出现错误。
操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。
我知道Description
在这种情况下,它只会获得一个空外键,但永远不会被删除。我见过一些例子,他们建议遍历每个子项并一个一个地删除它们。Imao我认为应该有更好的方法。我正在寻找的是一种影响最小的解决方案,只需告诉 EF 删除整个项目,而不仅仅是使外键无效。
https://stackoverflow.com/a/5540956/3850405
使用 AutoMapper、AutoMapper.Collection 和 AutoMapper.Collection.EntityFramework。
控制器方法:
映射:
视图模型:
楷模:
c# - AutoMapper - 将 Json 字符串属性映射到基于接口的对象
我有一个像这样的源类:
我正在映射到这个目标类:
我想将使用接口的Source.SubscriptionCriteriaJson
属性映射到。Dest.SubscriptionCriteria
可以使用来确定接口的具体类Source.SubscriptionTypeId
。我试图在这里解决两个问题以映射到SubscriptionCriteria
:
- 将 json 字符串反序列化为
ISubscriptionCriteria
对象。 - 映射到
ISubscriptionCriteria
基于的正确具体类型SubscriptionTypeId
。
任何想法/指针我如何在 AutoMapper 中实现这一点?我是 AutoMapper 的新手,所以我仍然在摸索。
到目前为止,这就是我对其余映射的了解:
c# - 带有实体框架的 C# AutoMapper - 适用于列表但不能使用单个可为空的实例
我有一个非常奇怪的错误,我无法理解。我正在使用 AutoMapper 6AutoMapper.Collection
和AutoMapper.Collection.EntityFramework
.
https://github.com/AutoMapper/AutoMapper.Collection
从下面的屏幕截图中可以看出,除了 Image 为 null 之外,每个组件都进行了更新updatedContact
。但是,如果我只为updatedImage
它做一个显式映射。它还可以毫无问题地更新图像集合。有没有人经历过这个?其他单个属性也可以,但由于某种原因Image
会造成麻烦。
映射:
文件:
c# - 自引用循环导致 map 堆栈溢出
根据文档,应尽可能为 AutoMapper 自动设置 PreserveReferences。
从 6.1.0 开始,PreserveReferences 会尽可能在配置时自动设置。
https://github.com/AutoMapper/AutoMapper/wiki/5.0-Upgrade-Guide
我也尝试将 MaxDepth 设置为 1,但我仍然得到以下映射的堆栈溢出异常。我可以以某种方式解决这个问题还是需要修改视图模型?
导致堆栈溢出异常的代码:
实体:
查看型号: