Скажем, у меня есть следующие связанные сущности с однозначными отношениями:
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;}
}
Как мне сопоставить class C
с class A
и B
с помощью Automapper?Когда я использую следующее, он говорит, что свойства навигации (B
для class A
и A
для class B
) равны нулю:
CreateMap<C, A>().ReverseMap();
CreateMap<C, B>()
.ForMember(b => b.AId, opt => opt.MapFrom(c => c.Id))
.ReverseMap();
И когда я пытаюсь вызвать Mapper.Map
функция внутри CreateMap
выдает ошибку, когда Mapper должен быть инициализирован первым.Может ли кто-нибудь указать мне правильное направление, как это сделать?