C# 如何使用Automapper从一个模型映射到(或从)多个目的地

C# 如何使用Automapper从一个模型映射到(或从)多个目的地,c#,asp.net-core,automapper,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 in

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

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 A
B
? 当我使用以下内容时,它表示导航属性(
B
用于
A类
,而
A
用于
B类
)为空:

CreateMap<C, A>().ReverseMap();
CreateMap<C, B>()
    .ForMember(b => b.AId, opt => opt.MapFrom(c => c.Id))
    .ReverseMap();
CreateMap().ReverseMap();
CreateMap()
.ForMember(b=>b.AId,opt=>opt.MapFrom(c=>c.Id))
.ReverseMap();

当我试图调用
CreateMap
中的
Mapper.Map
函数时,它会产生一个错误,其中必须首先初始化Mapper。有人能给我指出正确的方向吗?

这就是你要找的吗?创建2个映射配置文件。从A到C,从B到C。然后首先让A的一个实例映射到C。然后将B的一个实例映射到C,但传递用A到C映射创建的C的实例。哦,我明白了!没有想到要更新已经创建的当前实例,我也不知道它有过载。非常感谢你!