0
兩個相同類型的集合時重寫我有定義如下集合映射使用Automapper
Source {
public List<Driver> UnreportedDrivers { get; set; } // count 1
public List<Driver> LendingLossDrivers { get; set; } // count 2
public List<Driver> OtherDrivers { get; set; } // count 1
}
Destination {
public List<Driver> Drivers { get; set; } // expected count = 4 after mapping
}
我必須從源到目的地映射我的類。 我必須合併來自源的所有集合並將它們映射到目標。
我已經定義了我的映射如下。但是這段代碼並不能幫助我。 而不是合併所有集合,它只映射最後一個(UnreportedDrivers)覆蓋頂部的集合。
AutoMapper.Mapper.CreateMap<ServiceModel.MacReconciliationResponse, MacProcessContext>()
.ForMember(destination => destination.Drivers, source => source.MapFrom(s => s.OtherDrivers))
.ForMember(destination => destination.Drivers, source => source.MapFrom(s => s.LendingLossDrivers))
.ForMember(destination => destination.Drivers, source => source.MapFrom(s => s.UnreportedDrivers));
請在這種情況下幫助我。
在此先感謝。
感謝您的快速回復。 –
感謝您的快速回復。 我有一個附加組件的問題。 使用您的解決方案,我可以將所有三種類型的驅動程序映射到一個集合中。 我的目標對象有一個名爲DriverType的屬性,它有助於識別驅動程序的類型。 (Unreported/Other/etc) 在上面的代碼中,我如何根據我添加的集合設置目標屬性。 例如:我必須使用硬編碼 ReportType = OtherDriver集合項目的其他 ReportType =未報告UnreportedDriver集合項目。 在此先感謝 –
@SandeepPinniti:這似乎是一個更難的要求。您可能不得不使用自定義解析程序。 –