c# – 找不到映射
发布时间:2020-12-15 20:56:19 所属栏目:百科 来源:网络整理
导读:我一直在努力使用automapper和嵌套对象.我收到以下错误: Missing type map configuration or unsupported mapping.AdminSchema - Schema 但这对我来说似乎不对,因为我确实配置了以下映射: Mapper.CreateMapSchema,AdminSchema().ReverseMap(); 它应该映射
我一直在努力使用automapper和嵌套对象.我收到以下错误:
Missing type map configuration or unsupported mapping. AdminSchema -> Schema 但这对我来说似乎不对,因为我确实配置了以下映射: Mapper.CreateMap<Schema,AdminSchema>().ReverseMap(); 它应该映射以下模型: public class AdminSchema { [Required] [Display(Name = "Opeenvolgende weken")] public int ConsecutiveWeeks { get; set; } public List<AdminWorkDay> WorkDays { get; set; } public bool Delete { get; set; } } public class AdminWorkDay { public int DayOfWeekNumber { get; set; } public string StartTime { get; set; } public string EndTime { get; set; } public TimeSpan BreakTime { get; set; } public bool Delete { get; set; } } 至 public class Schema { public int Id { get; set; } public int ConsecutiveWeeks { get; set; } public List<WorkDay> WorkDays { get; set; } } public class WorkDay { public int Id { get; set; } public int DayOfWeekNumber { get; set; } public DateTime StartTime { get; set; } public DateTime EndTime { get;set; } public TimeSpan BreakTime { get; set; } } 对于字符串到日期时间映射,我有以下代码: Mapper.CreateMap<string,DateTime>().ConvertUsing<StringToDateTimeConverter>(); public class StringToDateTimeConverter : ITypeConverter<string,DateTime> { public DateTime Convert(ResolutionContext context) { var sourceDt = context.SourceValue; DateTime targetDt; if (sourceDt == null) { return default(DateTime); } return DateTime.TryParse(sourceDt.ToString(),out targetDt) ? targetDt : default(DateTime); } } 以下是映射的实现: var workPeriod = new WorkPeriod { Schemas = Mapper.Map<List<AdminSchema>,List<Schema>>(workPeriodVm.Schemas) }; 如果有人可能知道为什么它找不到我的映射,请告诉我.非常感谢.其他映射确实有效,因此一般来说,自动播放器的配置是正确的. 解决方法
显然,TSource和TDestination中的WorkDays类型不相等,而您必须在AutoMapper Nuget Package中设置相同的TSource和TDestination类型. 例如,将TSource和TDestination类型更改为AdminWorkDay for WorkDays属性,您会看到它正常工作.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |