C# AutoMapper - 如果源中不存在,则在 dest 属性中设置默认值

che*_*zer 2 c# guid automapper

我有:

Class A
{
    public string FirstName { get; set; }
}

Class B
{
    public string FirstName { get; set; }
    public Guid RequestId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我要地图从A到B,因为“A”具有RequestId我想将它设置为Guid.NewGuid()

我试过这个代码:

var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap<A, B>().ForMember(m => m.RequestId, o => Guid.NewGuid());
            
            });
            _mapper = config.CreateMapper();
Run Code Online (Sandbox Code Playgroud)

但是我在 RequestId 中仍然得到空的Guid。

jmo*_*dyk 5

该映射应如下所示:

var config = new MapperConfiguration(cfg =>
{
    cfg.CreateMap<A, B>().ForMember(m => m.RequestId, o => o.MapFrom(s => Guid.NewGuid()));
        
});
Run Code Online (Sandbox Code Playgroud)