问题标签 [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.

0 投票
2 回答
2151 浏览

c# - Automapper 合并/组合映射

假设我有这些映射:

Dtos的继承:

DetailDto : BaseDto

UpdateDto : BaseDto

有什么方法可以将第一个映射合并/组合到 mapping2 和 mapping3 中?

像这样的东西:

.Include功能似乎没有做我想要的,因为以下不起作用:

更新:编辑问题更具体

0 投票
0 回答
1100 浏览

c# - Bootstrapper.AutoMapper 和 Profile 注册顺序

我正在使用 AutoMapper 2.2.0 开发 ASP.NET MVC 3 应用程序。我声明了一些 AutoMapper 配置文件,当我手动初始化它们时,一切正常。

但是当我尝试使用 Bootstrapper.AutoMapper 2.0.3.0 初始化它们时......

...抛出配置异常:

配置CarrinhoToCarrinhoViewModel文件取决于ItemToItemViewModel配置文件,当我将初始化顺序更改为

我有和以前一样的例外。

我怀疑 Bootstrapper 以错误的顺序初始化配置文件,但我不知道如何在不放弃 Bootstrapper 的情况下解决它。对这个问题有什么建议或解决方案吗?

谢谢

0 投票
0 回答
251 浏览

c# - AutoMapper 2.1.267.0 不映射简单的int?财产

我有以下课程

资源:

目的地:

NewBusinessSubmission 类继承自如下所示的 PolicyTransaction 类(是的,它是 VB.NET):

下面的映射配置没有设置 TermTypeId:

这个也不起作用:

我这样称呼地图:

在 Set() 方法中具有相似代码的所有其他属性都正确映射,我也可以像这样手动映射 TermTypeId:

关于为什么此属性未正确映射的任何想法?

谢谢。

0 投票
2 回答
319 浏览

c# - 是否可以从 WCF 服务获取 LINQ 预测?

Automapper 有一个非常好的扩展来获取投影。
在我们应用程序的 BL 中,我们可以定义如下方法:

这有助于 BL 保持非常简单。对于每个投影变体,我们不需要很多不同的方法。
但是... WCF 服务不支持开放泛型。
因此,我正在寻找允许服务客户端仅获取实体所需属性的解决方案。

0 投票
0 回答
84 浏览

c# - 如何将 AutoMapper 用于具有多个彼此派生的视图类的源类

我的历史主要是 C/C++,但我最近被扔进了 c#/.net 世界。请温柔一点。

我正在尝试使用 automapper 将单个域实体类映射到 MULTIPLE 视图。所以,它是这样的:

到目前为止,我能够让它工作的唯一方法是将映射从基本视图类 (LimitedView) 复制/粘贴到 DeeperView 的映射类中,这伤害了我的感受。我也尝试过使用 .Include<>,但出现编译错误...

谢谢您的帮助!

0 投票
1 回答
1719 浏览

c# - 使用 automapper 更新目标对象并将可为空的类型属性值设置为 null

似乎源中的可为空类型属性被忽略并且未复制到目标。

考虑这些类:

映射:

当我使用它时它起作用了:

但是我不想为每个属性设置它,你可以全局设置吗?或者有没有其他方法可以实现这一目标?

0 投票
3 回答
27590 浏览

c# - 使用自动映射器将一个源类映射到多个派生类

假设我有一个源类:

还有一些目的地类别:

然后我希望派生的目标类继承基类的自动映射器配置,因为我不想重复它,有没有办法实现这一点?

当我这样写它时,它根本不使用基本映射,并且 include 似乎对我没有帮助。

编辑:这就是我得到的:


AutoMapper.AutoMapperConfigurationException :找到未映射的成员。查看下面的类型和成员。

添加自定义映射表达式、忽略、添加自定义解析器或修改源/目标类型

Source -> DestinationDerived1(目标成员列表)

测试3

0 投票
0 回答
2002 浏览

enums - 将可为空的枚举映射到 null 时,AutoMapper 抛出 NullReferenceException

我似乎无法弄清楚为什么 AutoMapper 会为此映射抛出异常:

仅当MyCustomEnum? PropName属性映射到空值时才会发生异常。这是我进行映射的方式:

抛出的异常是一个 AutoMapperMappingException,它包装了另外两个 AutoMapperMappingExceptions。第 4 个也是最后一个 InnerException 是 NullReferenceException。堆栈跟踪看起来像这样:

同样,该异常仅在解决方案具有时才会发生PropName == null(例如,如果两者都s.Val1s.Val2假)。当映射将解析为具有某些非空值的枚举时,不会发生异常。

这是 AutoMapper 中的另一个错误吗?

0 投票
5 回答
36499 浏览

automapper - AutoMapper:MapFrom 和 ResolveUsing 有什么区别?

忽略ResolveUsing采用 IValueResolver 的重载,仅查看以下 2 个方法:

这两个之间的主要区别似乎是ResolveUsing需要一个Func<TSource, object>,而 MapFrom 需要一个Expression<Func<TSource, TMember>>

然而,在实际使用这些方法之一和 lambda 表达式的客户端代码中,它们似乎是可以互换的:

那么上述两种选择之间的最终区别是什么?一个比另一个快吗?一个是比另一个更好的选择吗?如果是,什么时候/为什么?

0 投票
2 回答
5712 浏览

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 项目。

我将不胜感激任何想法、建议或解决方案,并感谢您的回答。