Как использовать Automapper для сопоставления (и от) нескольких пунктов назначения из одной модели - PullRequest
0 голосов
/ 07 июня 2018

Скажем, у меня есть следующие связанные сущности с однозначными отношениями:

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 должен быть инициализирован первым.Может ли кто-нибудь указать мне правильное направление, как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...