具有基类和实现的不同配置选项的自动映射器
我有两个类(MVC视图模型),它inheritance自一个抽象基类。
abstract class BaseModel { } class Car : BaseModel { public string Speed { get; set; } } class Camper : BaseModel { public int Beds { get; set; } }
并希望使用基类配置AutoMapper,例如:
Mapper.CreateMap(); var someObj = new DataDastination(); Mapper.Map(instanceOfBaseModel, someObj);
在这里我得到错误,因为Automapper没有Car或Camper的配置。 尝试使用以下内容配置Automapper:
Mapper.CreateMap() .ForMember(dest => dest.SomeProp, mapper => mapper.MapFrom( .... ));
在MapFrom中,我只看到基类的属性! 如何配置Automapper以使用BaseClass,以及Car和Camper的特定ForMember表达式? 例如,如果它是Car,则从此映射此属性,如果它是Camper,则从其他位置映射此属性。
以下是描述映射inheritance的主题。
以下内容对您有用:
Mapper.CreateMap() .Include() .Include();//.ForMember(general mapping) Mapper.CreateMap();//.ForMember(some specific mapping) Mapper.CreateMap();//.ForMember(some specific mapping)