0

我在 Visual Studio 中使用 mapster 和 C#,并且需要将三个对象映射到一个对象。有人做过吗,有例子吗?Mapster 说它有这种能力,但我无法让它工作。谢谢。

4

1 回答 1

2

您可以使用所有对象的元组作为 Source 创建一个新的 TypeAdapterConfig。这是一个例子

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

于 2021-08-20T17:01:51.963 回答