Излучить модель домена маппера для просмотра модели

Не могу понять, как сделать следующее сопоставление, есть две модели домена EF:

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

public class B
{
     public int Id {get; set;}
     public string EmplName
     public int AId {get; set;}
     public virtual A A { get; set; }
}

Теперь есть одна ViewModel, которую я хочу отобразить на форме пользователю:

public class B_ViewModel
{
     public int Id {get; set;}
     public string EmplName {get; set;}
     public string NameA {get; set;}
}

Пытаюсь использовать Emit Mapper, но я не могу понять, как реализовать поле отображения NameA, так как оно на самом деле находится в другой таблице:

var mapper = ObjectMapperManager.DefaultInstance.GetMapper<B, B_ViewModel>();

Буду благодарен за вашу помощь.

1 ответ

Решение

Вам просто нужно два картографа:

var mapper1 = ObjectMapperManager.DefaultInstance.GetMapper<A, B_ViewModel>();
var mapper2 = ObjectMapperManager.DefaultInstance.GetMapper<B, B_ViewModel>();

var result = new B_ViewModel();
mapper1.Map(a, result); 
mapper2.Map(b, result); 
Другие вопросы по тегам