禁用自动Apper的默认映射协议。

问题描述 投票:2回答:3

嗨。

我在我的应用程序中使用了autommaper,目前我有一个问题。当我使用ConstructUsing方法为map对象指定构造函数时,Automapper会按照默认的惯例复制所有其他字段。但我不需要这样。我怎样才能设置Mapper只使用构造函数而不复制其他任何东西?或者唯一的方法是写一个自定义的转换器。

.net automapper
3个回答
4
投票

使用方法 .ForAllMembers(opt => opt.Ignore()) 以避免额外的映射。这种情况下只会进行方法调用。


1
投票

转换器就是这样的,它的设计就是不做其他的复制。它还需要一个Func < TSource, TDestination > ,所以你应该可以把你在配置中调用的方法从ConstructUsing换成ConvertUsing。


1
投票

如果你想禁用大多数属性的映射,你可以使用 .ForAllOtherMembers(opt => opt.Ignore())

© www.soinside.com 2019 - 2024. All rights reserved.