问题标签 [automapper-2]
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# - Automapper 合并/组合映射
假设我有这些映射:
Dtos的继承:
DetailDto : BaseDto
UpdateDto : BaseDto
有什么方法可以将第一个映射合并/组合到 mapping2 和 mapping3 中?
像这样的东西:
该.Include
功能似乎没有做我想要的,因为以下不起作用:
更新:编辑问题更具体
c# - Bootstrapper.AutoMapper 和 Profile 注册顺序
我正在使用 AutoMapper 2.2.0 开发 ASP.NET MVC 3 应用程序。我声明了一些 AutoMapper 配置文件,当我手动初始化它们时,一切正常。
但是当我尝试使用 Bootstrapper.AutoMapper 2.0.3.0 初始化它们时......
...抛出配置异常:
配置CarrinhoToCarrinhoViewModel
文件取决于ItemToItemViewModel
配置文件,当我将初始化顺序更改为
我有和以前一样的例外。
我怀疑 Bootstrapper 以错误的顺序初始化配置文件,但我不知道如何在不放弃 Bootstrapper 的情况下解决它。对这个问题有什么建议或解决方案吗?
谢谢
c# - AutoMapper 2.1.267.0 不映射简单的int?财产
我有以下课程
资源:
目的地:
NewBusinessSubmission 类继承自如下所示的 PolicyTransaction 类(是的,它是 VB.NET):
下面的映射配置没有设置 TermTypeId:
这个也不起作用:
我这样称呼地图:
在 Set() 方法中具有相似代码的所有其他属性都正确映射,我也可以像这样手动映射 TermTypeId:
关于为什么此属性未正确映射的任何想法?
谢谢。
c# - 是否可以从 WCF 服务获取 LINQ 预测?
Automapper 有一个非常好的扩展来获取投影。
在我们应用程序的 BL 中,我们可以定义如下方法:
这有助于 BL 保持非常简单。对于每个投影变体,我们不需要很多不同的方法。
但是... WCF 服务不支持开放泛型。
因此,我正在寻找允许服务客户端仅获取实体所需属性的解决方案。
c# - 如何将 AutoMapper 用于具有多个彼此派生的视图类的源类
我的历史主要是 C/C++,但我最近被扔进了 c#/.net 世界。请温柔一点。
我正在尝试使用 automapper 将单个域实体类映射到 MULTIPLE 视图。所以,它是这样的:
到目前为止,我能够让它工作的唯一方法是将映射从基本视图类 (LimitedView) 复制/粘贴到 DeeperView 的映射类中,这伤害了我的感受。我也尝试过使用 .Include<>,但出现编译错误...
谢谢您的帮助!
c# - 使用 automapper 更新目标对象并将可为空的类型属性值设置为 null
似乎源中的可为空类型属性被忽略并且未复制到目标。
考虑这些类:
映射:
当我使用它时它起作用了:
但是我不想为每个属性设置它,你可以全局设置吗?或者有没有其他方法可以实现这一目标?
c# - 使用自动映射器将一个源类映射到多个派生类
假设我有一个源类:
还有一些目的地类别:
然后我希望派生的目标类继承基类的自动映射器配置,因为我不想重复它,有没有办法实现这一点?
当我这样写它时,它根本不使用基本映射,并且 include 似乎对我没有帮助。
编辑:这就是我得到的:
AutoMapper.AutoMapperConfigurationException :找到未映射的成员。查看下面的类型和成员。
添加自定义映射表达式、忽略、添加自定义解析器或修改源/目标类型
Source -> DestinationDerived1(目标成员列表)
测试3
enums - 将可为空的枚举映射到 null 时,AutoMapper 抛出 NullReferenceException
我似乎无法弄清楚为什么 AutoMapper 会为此映射抛出异常:
仅当MyCustomEnum? PropName
属性映射到空值时才会发生异常。这是我进行映射的方式:
抛出的异常是一个 AutoMapperMappingException,它包装了另外两个 AutoMapperMappingExceptions。第 4 个也是最后一个 InnerException 是 NullReferenceException。堆栈跟踪看起来像这样:
同样,该异常仅在解决方案具有时才会发生PropName == null
(例如,如果两者都s.Val1
为s.Val2
假)。当映射将解析为具有某些非空值的枚举时,不会发生异常。
这是 AutoMapper 中的另一个错误吗?
automapper - AutoMapper:MapFrom 和 ResolveUsing 有什么区别?
忽略ResolveUsing
采用 IValueResolver 的重载,仅查看以下 2 个方法:
这两个之间的主要区别似乎是ResolveUsing
需要一个Func<TSource, object>
,而 MapFrom 需要一个Expression<Func<TSource, TMember>>
。
然而,在实际使用这些方法之一和 lambda 表达式的客户端代码中,它们似乎是可以互换的:
那么上述两种选择之间的最终区别是什么?一个比另一个快吗?一个是比另一个更好的选择吗?如果是,什么时候/为什么?
asp.net-mvc-3 - 随机“缺少类型映射配置或不支持的映射”。自动映射器中的错误
请参阅此帖子以获取解决方案。
好的,我终于想通了。我的代码中的 AppDomain.CurrentDomain.GetAssemblies() 片段有时无法获取我的映射程序集,因此当它丢失时,我会收到错误消息。通过强制应用程序查找所有程序集来替换此代码解决了我的问题。
我的实体:
我的 DTO:
我的配置
在 Global.asax Application_Start 我有:
在 Bootstrapper 我有:
我的适配器在哪里:
AdapterFactory 是:
所以我随机得到一个“缺少类型映射配置或不支持的映射”。错误提示:
虽然此错误是随机发生的,但很难调试并查看会发生什么。我已经搜索了很多没有适当的解决方案。
错误如下:
缺少类型映射配置或不支持的映射。
映射类型:Country -> CountryDTO MyApp.Domain.BoundedContext.Country -> MyApp.Application.BoundedContext.CountryDTO
目标路径:List`1[0]
源值:MyApp.Domain.BoundedContext.Country
我的项目是一个带有 Automapper 2.2 和 Unity IoC 的 MVC 3 项目。
我将不胜感激任何想法、建议或解决方案,并感谢您的回答。