Mapster使用多个对象映射到一个对象



我在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方法。

因此,如果您必须为每个属性创建一个完整的映射器配置文件,那么映射器是没有意义的,请为使用扩展或适配器

相关内容

  • 没有找到相关文章

最新更新