C# AutoMapper - 如果源中不存在,则在 dest 属性 中设置默认值
C# AutoMapper - Set default value in dest property if not exist in source
我有:
Class A
{
public string FirstName { get; set; }
}
Class B
{
public string FirstName { get; set; }
public Guid RequestId { get; set; }
}
我想将 从 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();
但我在 RequestId 中仍然得到 空 Guid。
更改映射配置:
cfg.CreateMapper<A,B>().ForMember(x => x.RequestId, o => o.NullSubstitute(Guid.NewGuid());
该映射应如下所示:
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<A, B>().ForMember(m => m.RequestId, o => o.MapFrom(s => Guid.NewGuid()));
});
我有:
Class A
{
public string FirstName { get; set; }
}
Class B
{
public string FirstName { get; set; }
public Guid RequestId { get; set; }
}
我想将 从 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();
但我在 RequestId 中仍然得到 空 Guid。
更改映射配置:
cfg.CreateMapper<A,B>().ForMember(x => x.RequestId, o => o.NullSubstitute(Guid.NewGuid());
该映射应如下所示:
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<A, B>().ForMember(m => m.RequestId, o => o.MapFrom(s => Guid.NewGuid()));
});