说我有以下实体:
public class FooEntity
{
public string NameFr { get; set; }
public string NameNl { get; set; }
}
我希望将其转换为以下dto:
public class FooDto
{
public LocalizedStringDto Name { get; set; }
}
LocalizedStringDto
看起来像这样:
public class LocalizedStringDto
{
public string Fr { get; set; }
public string Nl { get; set; }
}
就目前而言,为了进行这种映射,我创建了一个具有以下内容的配置文件:
CreateMap<FooEntity, FooDto>()
.ForMember(dest => dest.Name, opt => opt.MapFrom(src => new LocalizedStringDto { Fr = src.NameFr, Nl = src.NameNl }));
而且效果很好。
问题是我有很多具有该类型不同属性的dto(DescriptionFr / DescriptionNl,ThisFr / ThisNl等),我不想被迫总是编写相同的代码行在两个字符串和LocalizedStringDto
之间进行映射。
我正在寻找一种告诉AutoMapper的方法:“当您遇到类型为LocalizedStringDto
的成员时,请创建该类型的新对象,并将MemberFr
用作{{1} }属性和Fr
属性的MemberNl
。”
我怀疑是否有明显的方法可以使用AutoMapper做到这一点,我在寻找这个问题时是对实现此目标的最佳方法的看法。