AutoMapper Как отобразить вложенный объект из ObjectId

Я пытаюсь сопоставить свойство ReferralContract.AssessmentId с Referral.Assessment.Id. Приведенный ниже код работает, но я уверен, что есть более чистый способ сделать это... Пожалуйста, скажите мне, что это так;-)

// Destination classes
public class Referral
{
    public Referral()
    {
        Assessment = new Assessment();
    }

    public int Id { get; set; }
    public Assessment Assessment { get; set; }
}

public class Assessment
{
    public int Id { get; set; }
}

// Source Class
public class ReferralContract
{
    public int Id { get; set; }
    public int AssessmentId { get; set; }
}

Отображение Automapper, которое я использую,

Mapper.CreateMap<ReferralContract, Referral>()
      .ForMember(x => x.Assessment,
          opt => opt.MapFrom(scr => new Assessment { Id = scr.AssessmentId }));

1 ответ

Решение

На данный момент это самый чистый путь. Дизайн AutoMapper не оптимизирован для этих сценариев с обратным отображением, но я обращаю внимание на будущие версии.

Другие вопросы по тегам