当源类型在类型名称中包含 Dto 时,如何映射者忽略 Id 值



我已经阅读了此页面,但它没有答案。 https://github.com/MapsterMapper/Mapster/wiki/Ignoring-members

我想要的是当源类型命名为SomethingDtoFooDto时忽略所有Id字段

像这样的东西...

TypeAdapterConfig<TSource, TDestination>
    .NewConfig()
    .IgnoreIf((src, dest) => src.GetType.Name.EndsWith("Dto"), dest => dest.Id);

另一个问题,我如何设置全局类型映射,然后在方法中间开始使用这个新映射,当方法结束时,它会恢复到原始的全局设置?例如,我可能不想总是忽略 Id。

我有问题的后半部分。克隆全局配置,忽略所有名为 Id 或其他任何列,然后将该配置注入到 Adapt<> 方法中。方法存在后,将恢复为全局配置设置。

            var mapsterConfig = TypeAdapterConfig.GlobalSettings.Clone();
            mapsterConfig.Default.Ignore("Id");
            var entity = dto.Adapt<Entity>(mapsterConfig);

相关内容

  • 没有找到相关文章

最新更新