我使用Mapster将基于json对象的dto中的值映射到Entity Framework数据表。目标类有一个字段从表示日期的字符串中填充的CCD_ 1。字符串可以为空或为"。
有没有一个好的映射策略可以使用Mapster来处理这个问题?我的地图目前看起来是这样的:
TypeAdapterConfig<InModels.Violation, InspectionViolation>.NewConfig()
.Map(d=>d.CorrectBy,s=>DateTime.Now,srcCond=>srcCond.CorrectBy=="")
.Map(d => d.CorrectBy, s =>DateTime.Parse(s.CorrectBy))
.IgnoreNullValues(true);
但仍然抛出一个错误,表示无法将"转换为datetime。
不支持将空字符串转换为DateTime
。您需要定义自定义字符串到日期时间的映射。
TypeAdapterConfig<string, DateTime?>.NewConfig()
.MapWith(src => string.IsNullOrEmpty(src) ? null : (DateTime?)DateTime.Parse(src));