リストが空で null ではない場合にリスト マッピングを無視する方法。
source.Divisions (IEnumerable) が null または空の場合、des.Divisions はマップされません。
Mapper.CreateMap<Model.Event, DataContracts.Event>()
.ForMember(des => des.Divisions, e => e.MapFrom(source => source.Divisions))
以下の解決策を見つけました。
Mapper.CreateMap<Model.Event, DataContracts.Event>()
.ForMember(des => des.Divisions, e => {
e.Condition(source => !source.Divisions.IsNullOrEmpty()));
e.MapFrom(source => source.Divisions));
});
上記をさらに単純化する方法はありますか?
たとえば、拡張メソッドを作成します。
Mapper.CreateMap<Model.Event, DataContracts.Event>()
.ForMember(des => des.Divisions, e => e.MapListIfNotEmpty(source => source.Divisions));