当字符串可能为空时,使用Mapster将字符串映射为日期到日期时间的策略



我使用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));

最新更新