C# 自动映射条件映射
如果ready to start为false,则需要将ActualStart日期设置为默认值。或者我会改成一个可以为null的 RequestDates集合始终只有一条记录C# 自动映射条件映射,c#,automapper,C#,Automapper,如果ready to start为false,则需要将ActualStart日期设置为默认值。或者我会改成一个可以为null的 RequestDates集合始终只有一条记录 public class EngagementDto { #region Public Properties public bool ReadyToStart { get; set; } public IEnumerable<RequestDateDt
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
}
public-class-engagedto
{
#区域公共财产
公共bool ReadyToStart{get;set;}
公共IEnumerable RequestDates{get;set;}
#端区
}
公共类requestdateto
{
#区域公共财产
公共日期时间实际开始日期{get;set;}
#端区
}
我不确定我是否正确地处理了这件事……但这就是我目前所拥有的
CreateMap<EngagementDto, RequestDateDto>()
.ForMember(dest => dest.ActualStartDate, opt =>
{
opt.Condition((src, dest) => !src.ReadyToStart);
opt.MapFrom(dest => dest.);
}
CreateMap()
.ForMember(dest=>dest.ActualStartDate,opt=>
{
选项条件((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));
CreateMap()
FormMember(dest=>dest.RequestDates,
opt=>opt.MapFrom
(src=>dest.ReadyToStart?“您的默认值”:src.ActualStartDate));
第二条路
像这样改变你的模型
public IEnumerable<RequestDateDto> RequestDates { get; set; } = null
public IEnumerable RequestDates{get;set;}=null
然后
CreateMap<EngagementDto,RequestDateDto>()
.ForMember(dest => dest.RequestDates, opt => {
opt.PreCondition(src => (src.ReadyToStart));
opt.MapFrom(src => src.ActualStartDate);
CreateMap()
.FormMember(dest=>dest.RequestDates,opt=>{
opt.predition(src=>(src.ReadyToStart));
opt.MapFrom(src=>src.ActualStartDate);
试试这个,我想它可以工作
CreateMap<EngagementDto, RequestDateDto>()
ForMember(dest => dest.RequestDates,
opt => opt.MapFrom
(src => dest.ReadyToStart ? "your default value" : src.ActualStartDate));
CreateMap()
FormMember(dest=>dest.RequestDates,
opt=>opt.MapFrom
(src=>dest.ReadyToStart?“您的默认值”:src.ActualStartDate));
第二条路
像这样改变你的模型
public IEnumerable<RequestDateDto> RequestDates { get; set; } = null
public IEnumerable RequestDates{get;set;}=null
然后
CreateMap<EngagementDto,RequestDateDto>()
.ForMember(dest => dest.RequestDates, opt => {
opt.PreCondition(src => (src.ReadyToStart));
opt.MapFrom(src => src.ActualStartDate);
CreateMap()
.FormMember(dest=>dest.RequestDates,opt=>{
opt.predition(src=>(src.ReadyToStart));
opt.MapFrom(src=>src.ActualStartDate);
我在此部分中没有访问dest的权限…src=>dest.ReadyToStarttry此,我添加了其他方式我在此部分中没有访问dest的权限…src=>dest.ReadyToStarttry此,我添加了其他方式