AutoMapper:如果条件失败怎么办?

时间:2019-04-18 08:04:41

标签: c# automapper

我正在使用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 :(得分:0)

我有一个简单的解决方案,但它采用的是黑客方式:

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));