【问题标题】:Emit mapper domain model to view model将映射器域模型发射到视图模型
【发布时间】:2014-03-18 07:59:54
【问题描述】:

好像看不懂怎么做下面的映射,Domain 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>();

感谢您的帮助。

【问题讨论】:

    标签: c# entity-framework emitmapper


    【解决方案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); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多