Я использую Automapper, и мне нужно отобразить список объектов во вложенный объект. У меня есть эти объекты:
public abstract class FooSrcBase
{
}
public class FooSrc : FooSrcBase
{
public bool Prop { get; set; }
}
public class FooDest
{
public bool Prop { get; set; }
}
public class FooDestGroup
{
public FooDest FooDest { get; set; }
}
public class Dest
{
public FooDestGroup FooDestGroup { get; set; }
}
У меня есть IEnumerable<FooSrc>
, который содержит FooSrc
объектов (существует много реализаций, и в источнике может существовать только один объект для каждого типа), и мне нужно отобразить его в Dest
объект. Мне это нужно из-за сопоставления моделей представления для внешнего интерфейса.
Когда я регистрирую сопоставление следующим образом:
CreateMap<IEnumerable<FooSrc>, Dest>().ForPath(dest => dest.FooDestGroup.FooDest, opt => opt.MapFrom(src => src.FirstOrDefault(x => x.GetType() == typeof(FooSrc))));
CreateMap<FooSrc, FooDest>();
Когда я отображаю пустой список, возникает проблема в объекте Dest
- FooDestGroup
- это экземпляр объекта, который имеет свойство FooDest
со значением null
.
Как можно сделать свойство Dest
FooDestGroup
отображенным на null
, если Я предоставляю пустой список в качестве источника?