AutoMapper自定义映射

让我们假设我有以下课程

public class foo { public string Value; } public class bar { public string Value1; public string Value2; } 

现在我想配置自动映射,如果Value1以“A”开头,则将Value1映射到Value,否则我想将Value2映射到Value。

这是我到目前为止:

 Mapper .CreateMap() .ForMember(t => t.Value, o => { o.Condition(s => s.Value1.StartsWith("A")); o.MapFrom(s => s.Value1); <> }) 

但是我知道如何在条件基础上给出值1或值2,但不知道如何放置一些自定义代码,调用函数或抛出exception

请指南。

您可以将lambda传递给ResolveUsing

 .ForMember(f => f.Value, o => o.ResolveUsing(b => { if (b.Value1.StartsWith("A"));) { return b.Value1; } return b.Value2; } ));