如果准备开始为假,那么我需要将ActualStartDate设置为默认值。或者,也许我将改为可为空。
RequestDates集合将始终只有1条记录。
public class EngagementDto
{
#region Public Properties
public bool ReadyToStart { get; set; }
public IEnumerable<RequestDateDto> RequestDates { get; set; }
#endregion
}
public class RequestDateDto
{
#region Public Properties
public DateTime ActualStartDate { get; set; }
#endregion
}
不确定我是否能正确解决这个问题……但这是我到目前为止所拥有的。
CreateMap<EngagementDto, RequestDateDto>()
.ForMember(dest => dest.ActualStartDate, opt =>
{
opt.Condition((src, dest) => !src.ReadyToStart);
opt.MapFrom(dest => dest.);
}
尝试一下,我认为它可以正常工作!
CreateMap<EngagementDto, RequestDateDto>()
ForMember(dest => dest.RequestDates,
opt => opt.MapFrom
(src => dest.ReadyToStart ? "your default value" : src.ActualStartDate));