似乎无法理解如何进行以下映射,有两种型号的域名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>();
我很感激你的帮助。
答案 0 :(得分: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);