C#AutoMapper - Inhertaince mapping - 简单的例子

时间:2017-03-08 09:17:18

标签: c# automapper

几天前I asked a question用于映射,我熟悉Automapper,然后我就可以成功地将班级B映射到A。现在我还有另一个继承问题。

我有四个课程。

A类:

public class A : BaseViewModel {
    prop string p1  { get; set; }
    prop string p2  { get; set; }
    prop string p3  { get; set; }
}

Class BaseViewModel:

public class BaseViewModel {
    prop int Id {get; set;}
    prop string SomeP1 {get; set;}
}

B类:

public class B : BaseModel {
    prop string p1  { get; set; }
    prop string p3  { get; set; }
}

Class BaseModel:

public class BaseModel {
    prop int Id {get; set;}
    prop string SomeP2 {get; set;}
}

映射器:

Mapper.CreateMap<B, A>();
A a_obj= Mapper.Map<A>(b_obj);

我的问题是:如何将Id中的BaseViewModel映射到Id中的BaseModel

I found a solution但这对我来说有点困难。

1 个答案:

答案 0 :(得分:3)

您可以使用:

 Mapper.Initialize(cfg => cfg.CreateMap<B, A>());
 var a_obj = Mapper.Map<A>(b_obj);
  

提示:您必须使用automapper v6。*