C# 映射期间映射前/映射后自动映射回调

C# 映射期间映射前/映射后自动映射回调,c#,.net,automapper,C#,.net,Automapper,我正在使用ASP.NET内核和Automapper 6.1.0 我有两种看起来像这样的 public class ExampleDTO { public Guid Id { get; set; } public ProviderDTO Provider { get; set; } } public class Example { public Guid Id { get; set; } public Guid Provider { get; set; } }

我正在使用ASP.NET内核和Automapper 6.1.0

我有两种看起来像这样的

public class ExampleDTO
{
    public Guid Id { get; set; }
    public ProviderDTO Provider { get; set; }
}


public class Example
{
    public Guid Id { get; set; }
    public Guid Provider { get; set; }
}
ProviderDTO类(在本例中为i相关)

自动映射配置如下所示:

CreateMap<Example, ExampleDTO>().ForMember(x => x.Provider, opt => opt.Ignore());

CreateMap<ExampleDTO, Example>().ForMember(dest => dest.Provider,
                                           opt => opt.MapFrom(src => src.Provider.Id));
CreateMap().ForMember(x=>x.Provider,opt=>opt.Ignore());
CreateMap().FormMember(dest=>dest.Provider,
opt=>opt.MapFrom(src=>src.Provider.Id));
当我从Example映射到ExampleDTO时,我想将ProviderDTO的值传递给type

我试过这样的东西

\u mapper.Map(例如,opt=>opt.AfterMap((src,dest)=>dest.Provider=myProvider))

我明白了

“对象”不包含对“提供者”的防御,也不包含扩展方法

这是可以实现的吗?如果是,我做错了什么?

对于,您可能需要同时提供源和目标类型,例如:

_mapper.Map<Example, ExampleDTO>(example, opt => {
    opt.AfterMap((src, dest) => dest.Provider = myProvider))
});
\u mapper.Map(示例,opt=>{
opt.AfterMap((src,dest)=>dest.Provider=myProvider))
});

提供程序是对象(ProviderDTO)还是GUID?show provider class…@Ardit这就是我试图映射的内容,当目标是要映射一个对象,否则映射一个对象GUID@Ardit我已将
提供程序添加到类中,它与
_mapper.Map<Example, ExampleDTO>(example, opt => {
    opt.AfterMap((src, dest) => dest.Provider = myProvider))
});