我有一个像这样的源 DTO
public class Member
{
public string MemberId {get;set;}
public string MemberType {get;set;}
public string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
成员类型可以是“个人”或“公司”。
和两个像这样的目的地类
public class PersonMember
{
public int PersonMemberId {get;set;}
public string Name {get;set;}
}
public class CompanyMember
{
public int CompanyMemberId {get;set;}
public string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我想使用 Automapper 检查源类中 MemberType 的值,并根据该类型映射到两种目标类型之一。
我看到了conditionally mapping的例子,但它映射了它执行条件检查的字段。我想检查条件并映射不同的字段。
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<Foo,Bar>()
.ForMember(dest => dest.baz, opt => opt.Condition(src => (src.baz >= 0)));
});
Run Code Online (Sandbox Code Playgroud)
我的目标是这样的——
cfg.CreateMap<Member, PersonMember>()
.ForMember(dest => …Run Code Online (Sandbox Code Playgroud)