AutoMapper 如何将两个父对象合并为一个对象并反转

AutoMapper How do I Merge two parents into a single object & reverse

我一直在阅读,但这似乎与 OP 没什么不同。三个对象:

parent1 和 Parent2 是 1:1 关系。 EF 中的“拥有”,两者具有相同的 Id 密钥

public class parent1
{
    public int Id { get; set; }
    public string field1 { get; set; }
    public int field2 { get; set; }
}

public class parent2
{
    public int Id { get; set; }
    public string field3 { get; set; }
    public int field4 { get; set; }
}

public class myDTO
{
    public int Id { get; set; }
    public string field1 { get; set; }
    public int field2 { get; set; }
    public string field3 { get; set; }
    public int field4 { get; set; }
}

是否有一种简短的方法可以将这两个父项合并在一起,并在 DTO 返回使用 AutoMapper 时将它们分开?除了单独指定每个 属性。

CreateMap(); CreateMap();

相当简单,但我想避免像

这样的事情

Mapper.Map(source2, Mapper.Map(source))

避免重复调用 Map 的唯一方法是将两个父 类 封装为一个。这可能是有道理的,因为 parent1 和 parent2 是 1:1,所以实际上它们代表一个对象。

public class mergedParents
{
    public int Id { get; set; }
    public string field1 { get; set; }
    public int field2 { get; set; }
    public string field3 { get; set; }
    public int field4 { get; set; }
}