Automapper:如何反转空替代?
Automapper: how to reverse a null substitute?
我对 Automapper 比较陌生,只是想确保我没有错过更短的方法来执行此操作。我在数据库中有一个字段,当它为空时,相应模型中的值设置为字符串文字“None”。如果可能的话,我想在使用相同的映射器配置保存回数据库时反向执行该逻辑。这是当前代码(有问题的字段是最后一个“.ForMember”):
var mapperConfiguration = new MapperConfiguration(cfg => cfg.CreateMap<Location, LocationModel>()
.ForMember(f => f.Name, db => db.MapFrom(f => f.LocationName))
.ForMember(f => f.Description, db => db.MapFrom(f => f.LocationDescription))
.ForMember(f => f.ERPCode, db => db.MapFrom(f => f.WarehouseCode))
.ForMember(f => f.ERPCodeQBID, db => db.MapFrom(f => f.WarehouseCodeQBID))
.ForMember(f => f.DefaultDispatchType, opt => opt.NullSubstitute("None")).ReverseMap());
我想出将“None”映射回 null 的唯一方法是创建第二个映射,而不必费心反转上面的映射。如果有办法实现,请告诉我。
您可以使用流畅的语法在 .ReverseMap()
之后立即链接 .ForMember()
,然后成为 LocationModel
到 Location
的映射配置
我对 Automapper 比较陌生,只是想确保我没有错过更短的方法来执行此操作。我在数据库中有一个字段,当它为空时,相应模型中的值设置为字符串文字“None”。如果可能的话,我想在使用相同的映射器配置保存回数据库时反向执行该逻辑。这是当前代码(有问题的字段是最后一个“.ForMember”):
var mapperConfiguration = new MapperConfiguration(cfg => cfg.CreateMap<Location, LocationModel>()
.ForMember(f => f.Name, db => db.MapFrom(f => f.LocationName))
.ForMember(f => f.Description, db => db.MapFrom(f => f.LocationDescription))
.ForMember(f => f.ERPCode, db => db.MapFrom(f => f.WarehouseCode))
.ForMember(f => f.ERPCodeQBID, db => db.MapFrom(f => f.WarehouseCodeQBID))
.ForMember(f => f.DefaultDispatchType, opt => opt.NullSubstitute("None")).ReverseMap());
我想出将“None”映射回 null 的唯一方法是创建第二个映射,而不必费心反转上面的映射。如果有办法实现,请告诉我。
您可以使用流畅的语法在 .ReverseMap()
之后立即链接 .ForMember()
,然后成为 LocationModel
到 Location