Попытка отобразить следующуюСвести вложенные списки Automapper
public class WorkPreferance
{
public int ID { get; set; }
public string Name { get; set; }
public IEnumerable<Location> PreferedLocations { get; set; }
}
public class Location
{
public int LocationID { get; set; }
public string LocationName { get; set; }
}
к следующему месту назначения ...
public class WorkingPreferenceViewModel
{
public int ID { get; set; }
public string Name { get; set; }
public int LocationID { get; set; }
public string LocationName { get; set; }
}
, но я не могу обернуть мою голову вокруг того, что должно быть отображение замедления .. так далеко у меня есть это:
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Location, WorkingPreferenceViewModel>()
.ForMember(d => d.LocationID, o => o.MapFrom(s => s.LocationID))
.ForMember(d => d.LocationName, o => o.MapFrom(s => s.Description))
.ForAllOtherMembers(o => o.Ignore());
cfg.CreateMap<WorkPreferance, WorkingPreferenceViewModel>()
.ForMember(d => d.LocationID, o => o.MapFrom(s => s.PreferedLocations))
.ForMember(d => d.LocationName, o => o.MapFrom(s => s.PreferedLocations))
}
Я смущен. Вы не можете сопоставить коллекцию всего лишь одного экземпляра этой вещи. Если, конечно, вы не делаете какой-либо агрегации или не берете один экземпляр из коллекции. Что должно быть «LocationID» и «LocationName» действительно, когда вы набираете «WorkPreference»? – MarioDS
Вы можете, если хотите сгладить .. Как вы делаете с SelectMany в LINQ .. – Mortalus
Значение для каждой записи местоположения Я хотел бы создать новый объект WorkPreferanceViewModel ... – Mortalus