gpt4 book ai didi

c# - 向 Automapper ForMember 添加额外参数的简单方法

转载 作者:行者123 更新时间:2023-12-05 03:41:26 25 4
gpt4 key购买 nike

所以,我有一个 ObjectFrom 到 ObjectTo 的映射。'所有映射都可以完成 ObjectFrom.propX -> ObjectTo.propX2。但是ObjectTo中还有一个属性需要有一个固定值(对于每个映射),我们称它为“CallerName”,这与ObjectFrom无关。

我能否以某种方式在映射中加入额外的参数?我不想包装我的 ObjectFrom 也不使用 AfterMap(),因为我想强制调用者提供 CallerName 以确保它被填充。

在谷歌搜索时,我发现一个解决方案比另一个更复杂。有没有简单的方法可以做到这一点?

(Asp Net Core,最新版automapper)

最佳答案

调用 Map 时,您可以通过使用键值和自定义解析器从映射上下文中获取对象来传入额外的对象。

mapper.Map<Source, Dest>(src, opt => opt.Items["Foo"] = "Bar");

这是为这个自定义解析器设置映射的方法

cfg.CreateMap<Source, Dest>()
.ForMember(dest => dest.Foo, opt => opt.MapFrom((src, dest, destMember, context) => context.Items["Foo"]

The docs .

关于c# - 向 Automapper ForMember 添加额外参数的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67788867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com