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

问题描述 投票:0回答:1

我正在使用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

c# automapper
1个回答
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));

© www.soinside.com 2019 - 2024. All rights reserved.