基本上,我有一个DateTime
在一个类中的“表面”和另一个DateTime
是另一个类的复杂属性中的类的一部分,我想映射回来和这些DateTime
类型之间来回...映射日期时间从/到子属性日期时间
public class AModel {
DateTime DateFrom { get;set; }
DateTime DateThru { get;set; }
}
public class BModel {
ModelDateCollection DateFromClass { get;set; }
ModelDateCollection DateThruClass { get;set; }
}
public class ModelDateCollection {
DateTime Date { get;set; }
String Display { get; } // Example Readonly for Date Display
DateTime FirstOfMonth { get; } // Another Example to extend Complex Class
}
在地图的初始化我使用:
CreateMap<BModel, AModel>()
.ForMember(d => d.DateFrom, s => s.MapFrom(src => src.DateFromClass.Date))
而且,正如你所看到的,我试图物业DateFromClass.Date
映射到目标DateFrom
。
我还打算在其他方向映射,以及:
CreateMap<AModel, BModel>()
.ForMember(d => d.DateFrom, s => s.MapFrom(src => new ModelDateCollection(src.DateFrom)))
根据下面的异常,我不能够为这些是DateTime值来回映射。
无法转换类型“System.DateTime的”到类型 “ModelDateCollection” - >试图AMODEL映射到BModel 使用映射配置为AMODEL到BModel 异常类型“AutoMapper.AutoMapperMappingException”的目的是抛出。
有什么建议吗?
你能得到内部异常并发布输出吗?通常,如果您在处理Automapper时发现异常,它会让您更好地了解该问题。 –
另外,你可以显示你正在映射的类的定义,以便我们可以重现它吗? –