C# AutoMapper - 继承映射 - 简单示例

标签 c# automapper

几天前I asked a question用于映射和我熟悉的 Automapper然后我可以成功映射类BA .现在我有另一个继承问题。

我有四个类。

A类:

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

类 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; }
}

类 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);

我的问题是:如何映射 IdBaseViewModelIdBaseModel ?

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

最佳答案

你可以使用这个:

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

Tip : You have to use automapper v6.*

关于C# AutoMapper - 继承映射 - 简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42667261/

相关文章:

c# - Office 365 REST API

c# - 如何遍历字典?

c# - 使用 AutoMapper 将 DataTable 映射到对象 (DTO)

c# - 将位图保存到文件 - Xamarin、Monodroid

c# - 使用 C# 在 WMI 中返回 CPU 使用率

c# - .net SDK查询DynamoDb表的正确方法

c# - AutoMapper:将 2 个元素传递给解析上下文

c# - AutoMapper 问题和映射 IEnumerable 集合

c# - 编写 AutoMapper 代码最有效的方法是什么?

c# - 如何使 AutoMapper 根据 MaxLength 属性截断字符串?