Я хочу использовать AutoMapper с proto3, но самая большая проблема, с которой я сталкиваюсь, заключается в отображении из свойства источника, которое может разрешить null
в proto, что никогда не происходит.Делая такое заполнение вручную, нужно сделать что-то вроде этого:
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));
Я чувствую, что старею действительно быстро, так как у меня много свойств в моих протосах.
Что мне интересно, есть ли способ для меня справиться с этим на более высоком уровне абстракции?