相关疑难解决方法(0)

有条件地将一种源类型映射到两种目标类型

我有一个像这样的源 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)

c# mapping automapper

2
推荐指数
1
解决办法
6009
查看次数

标签 统计

automapper ×1

c# ×1

mapping ×1