如何使用Automapper从单个模型映射到(和从)多个目标

时间:2018-06-07 11:31:40

标签: c# asp.net-core automapper

假设我有以下相关实体与一对一的关系:

public class A {
    public int Id {get; set;}
    public string Name {get; set;}
    public string Address {get; set;}

    public virtual B B {get; set;}
    public virtual int BId {get; set;}
}


public class B {
    public int Id {get; set;}
    public decimal Price {get; set;}

    public virtual A A {get; set;}
    public virtual int AId {get; set;}
}

单个类(DTO)将包含这两个类的字段:

public class C {
    public int Id {get; set;} //which will correspond to AId
    public string Name {get; set;}
    public string Address {get; set;}
    public decimal Price {get; set;}
}

如何使用Automapper从class C映射到class AB? 当我使用以下内容时,它表示导航属性(B的{​​{1}}和class A的{​​{1}})为空:

A

当我尝试在class B内调用CreateMap<C, A>().ReverseMap(); CreateMap<C, B>() .ForMember(b => b.AId, opt => opt.MapFrom(c => c.Id)) .ReverseMap(); 函数时,会产生一个错误,其中必须首先初始化Mapper。有人能指出我如何解决这个问题的正确方向吗?

0 个答案:

没有答案