我在visualstudio中使用mapster和C#,有三个对象需要映射到其中一个。有人这样做过吗,有什么例子吗?Mapster说它有这种能力,但我不能让它发挥作用。谢谢
您可以创建一个新的TypeAdapterConfig,将所有对象的元组作为Source。以下是的示例
public class DTO1
{
public int Age { get; set; }
}
public class DTO2
{
public int ID { get; set; }
}
public class DTO3
{
public string Name { get; set; }
}
public class POCO
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
var config = TypeAdapterConfig<(DTO1, DTO2, DTO3), POCO>.NewConfig()
.Map(dest => dest.Age, src => src.Item1.Age)
.Map(dest => dest.ID, src => src.Item2.ID)
.Map(dest => dest.Name, src => src.Item3.Name);
将DTO1、DTO2、DTO3视为要映射到POCO实体的源实体。
一旦定义了此配置,就可以将其作为参数(config.config(传递给Adapt方法。
因此,如果您必须为每个属性创建一个完整的映射器配置文件,那么映射器是没有意义的,请为使用扩展或适配器