Игнорировать все свойства, заканчивающиеся определенным суффиксом в Automapper - PullRequest
0 голосов
/ 31 августа 2018

У меня есть ссылка на службу WCF, и по какой-то причине она генерирует внутренне некоторые дополнительные свойства для примитивных типов, например, если есть свойство с именем.

public int id { get; set }

сгенерирует дополнительный, называемый:

public bool idSpecified { get; set; }

Таким образом, автоматически сгенерированные свойства всегда имеют тип bool и заканчиваются указанным суффиксом. Я хотел применить глобальную конфигурацию, чтобы исключить эти свойства, поэтому, когда у меня есть код, подобный этому:

var requestTemp = Mapper.Map<RegisterAccountRequestDto, RegisterAccountRequest>(request);

не потерпит неудачу, если я назову это Mapper.AssertConfigurationIsValid();

Я знаю, что могу сделать что-то вроде этого:

var requestTemp = Mapper.Map<RegisterAccountRequestDto, RegisterAccountRequest>(request, opt => opt.ConfigureMap(MemberList.None));

вообще не проверять модель DTO или Request, но я этого не хочу, потому что хочу, чтобы мой тест не прошел, если другая команда обновила службы или я добавил новые свойства в DTO и не забудьте правильно сопоставить модель Request.

Я знаю, что могу игнорировать одного за другим, но, поскольку их множество, это не стоит того, и в дальнейшем они могут измениться в будущем.

Есть идеи, как я могу игнорировать эти свойства в общем виде?

...