让我们假设我有以下类
public class foo
{
public string Value;
}
public class bar
{
public string Value1;
public string Value2;
}
Run Code Online (Sandbox Code Playgroud)
现在我想配置自动映射,如果Value1以"A"开头,则将Value1映射到Value,否则我想将Value2映射到Value.
这是我到目前为止:
Mapper
.CreateMap<foo,bar>()
.ForMember(t => t.Value,
o =>
{
o.Condition(s =>
s.Value1.StartsWith("A"));
o.MapFrom(s => s.Value1);
<<***I want to throw Exception here***>>
})
Run Code Online (Sandbox Code Playgroud)
但是我知道如何在条件基础上给出值1或值2,但不知道如何放置一些自定义代码,调用函数或抛出异常
请指南.
D S*_*ley 18
你可以将lambda传递给ResolveUsing:
.ForMember(f => f.Value, o => o.ResolveUsing(b =>
{
if (b.Value1.StartsWith("A"));)
{
return b.Value1;
}
return b.Value2;
}
));
Run Code Online (Sandbox Code Playgroud)