发射映射器域模型以查看模型

时间:2014-03-18 07:59:54

标签: c# entity-framework emitmapper

似乎无法理解如何进行以下映射,有两种型号的域名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 个答案:

答案 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);