Предположим, у меня есть следующие объекты (классы)Как настроить условное сопоставление в AutoMapper?
public class Target
{
public string Value;
}
public class Source
{
public string Value1;
public string Value2;
}
Теперь я хочу, чтобы настроить автоматическую карту, чтобы Карта Value1 до значения, если Значение1 начинается с «А», но в противном случае я хочу карту Value2 к стоимости.
Это то, что я до сих пор:
Mapper
.CreateMap<Source,Target>()
.ForMember(t => t.Value,
o =>
{
o.Condition(s =>
s.Value1.StartsWith("A"));
o.MapFrom(s => s.Value1);
<<***But then how do I supply the negative clause!?***>>
})
Однако часть все еще ускользает меня, как сказать AutoMapper к идут принять s.Value2
должен ранее условие не выполняется.
Мне кажется, что API не был спроектирован так хорошо, как это могло бы быть ... но может быть, это мое отсутствие знаний мешает.
Просто у вас есть второй вызов 'ForMember' с обратным условием в этом, если вы действительно застряли, и ответ, предоставленный Tejal, не сокращает его. – Joe