我想将 AutoMapper 与 proto3 一起使用,但我遇到的最大问题是从可能允许的源属性映射null
到永远不会这样做的原型。手动进行此类填充时,必须执行以下操作:
var proto = new Proto();
if (source.Field != null)
{
proto.Field = source.Field;
}
我仍然觉得这很荒谬,但显然 proto3 就是这样。
无论如何,这意味着映射必须具有条件以确保null
值不会传播到原型:
config
.CreateMap<Source, Proto>()
.ForMember(
x => x.Field,
options => options.Condition(source => source.Field != null));
我能感觉到这很快就变老了,因为我的原型中有很多属性。
我想知道是否有办法让我在更高的抽象层次上处理这个问题?