【发布时间】:2013-07-23 06:31:46
【问题描述】:
假设我有以下实体(类)
public class Target
{
public string Value;
}
public class Source
{
public string Value1;
public string Value2;
}
现在我想配置自动映射,如果 Value1 以“A”开头,则将 Value1 映射到 Value,否则我想将 Value2 映射到 Value。
这是我目前所拥有的:
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 的设计并没有达到应有的水平……但可能是我缺乏知识造成了阻碍。
【问题讨论】:
-
如果您真的被卡住并且 Tejal 提供的答案并没有解决问题,只需再拨打第二个
ForMember电话,使用与此条件相反的情况。
标签: c# lambda automapper automapper-2