BEARBEITEN: Titel ist falsch, ich versuche, aus einer Quellenliste zu einem geschachtelten Modell der Quellliste zuordnen.AutoMapper-Zuordnung von Quelle verschachtelte Sammlung zu einer anderen Sammlung
Ich habe Probleme beim Zuordnen einer Liste zu einer anderen Liste in einem verschachtelten Modell. Art von und un-Abflachungen von Art. Das Problem ist, ich weiß nicht, wie man die Mappings macht.
Hier ist mein Set up an Mapping meiner gescheiterten Versuchen gefolgt:
public class DestinationModel
{
public DestinationNestedViewModel sestinationNestedViewModel { get; set; }
}
public class DestinationNestedViewModel
{
public List<ItemModel> NestedList { get; set; }
}
public class SourceModel
{
public List<Item> SourceList { get; set; }
}
Wo Artikel und ItemModel haben bereits eine Zuordnung zwischen ihnen
Idefiniert ist, kann es auf diese Weise nicht ...
Mapper.CreateMap<SourceModel, DestinationModel>()
.ForMember(d => d.DestinationNestedViewModel.NestedList,
opt => opt.MapFrom(src => src.SourceList))
ERROR:
Ausdruck ‚d => d.DestinationNestedViewMode l.NestedList‘auf der obersten Ebene member.Parameter Namen auflösen muss: Lambda
Ich habe dann versucht, so etwas wie dieses:
.ForMember(d => d.DestinationNestedViewModel,
o => o.MapFrom(t => new DestinationNestedViewModel { NestedList = t.SourceList }))
Das Problem dort NestedList = t.SourceList ist. Sie enthalten jeweils verschiedene Elemente, ItemModel und Element jeweils. Also müssen sie kartiert werden.
Wie kann ich dies abbilden?
Ich bin nicht sicher, ob ich es richtig verstehen , aber ich denke, dass Sie ein Mapping von Item zu ItemModel erstellen müssen, damit AutoMapper Item-Objekte ItemModel-Objekten zuordnen kann. –
Es ist bereits eine Zuordnung zwischen Item und ItemModel definiert, aber die Zuordnung wird nicht ausgelöst, da NestedList zu einem DestinationModel gehört, das wiederum zu DestinationNestedViewModel gehört. Automapper kann beim Mapping nicht zwei Ebenen von Modellen verwalten (zumindest nicht so, wie ich es probiert habe) – getit