AutoMapper: как сделать что-то, если условие не выполняется? - PullRequest
0 голосов
/ 18 апреля 2019

Я сопоставляю объект с помощью AutoMapper, и у моего целевого объекта уже есть некоторые заполненные свойства. Моя конфигурация уже выглядит так:

// MapperConfiguration
CreateMap<TestClass, TestClass>()
    .ForMember(d => d.Property1, c => c.Condition((s, d) => string.IsNullOrWithSpace(d.Property1));

// Test Class
class TestClass {
    public string Property1 {get; set;}
}

Теперь я хочу записать в журнал, если условие не выполняется или свойство уже установлено. Есть ли способ добиться этого или альтернативного обходного пути?

Я использую AutoMapper v8.0.0

1 Ответ

0 голосов
/ 18 апреля 2019

У меня есть простое решение, но оно в стиле хакерства:

public static bool IsNullOrWithSpaceWithLog(string x){
  log.Info("something")
  return string.IsNullOrWithSpace(x);
}

CreateMap<TestClass, TestClass>()
    .ForMember(d => d.Property1, c => c.Condition((s, d) => IsNullOrWithSpaceWithLog(d.Property1));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...