Tenho dois modelos:
public class HouseDto
{
public DateTime[] ProductionDates { get; set; }
}
e
public class House
{
public string PeriodStart { get; set; }
public string PeriodEnd { get; set; }
}
Quero pegar o PeriodStart
e PeriodEnd
e mesclá-los em um único array ProductionDates
. Algo assim:
CreateMap<HouseDto, House>()
.ForMember(d => d.ProductionDates, e => e.MapFrom(s => s.PeriodStart))
.ForMember(d => d.ProductionDates, e => e.MapFrom(s => s.PeriodEnd));
O problema é que isso PeriodStart
sobrescreverá PeriodEnd
. Dei uma olhada na documentação e usei o Stack Overflow, mas não encontrei uma maneira de unir vários arrays em um único array. Isso é possível com o AutoMapper?
Você pode mapear vários valores para uma única matriz chamando
ForMember()
apenas uma vez e passando uma função que retorna uma matriz contendo todos os valores necessários,MapFrom()
da seguinte maneira:Demonstração do violino aqui .
Parece que o AutoMapper analisará automaticamente as strings em
DateTime
valores, mas se precisar, você mesmo pode analisá-las, por exemplo:Demonstração do violino nº 2 aqui .