Wie reduziere ich ein bedingtes Objekt in einer Liste im Auto-Mapper?

8

Ich habe eine Item , die eine Liste von Product enthält, die mit AutoMapper ihren jeweiligen ViewModel -Objekten zugeordnet sind.

In meinem MVC-Projekt habe ich eine Action-Methode, die Item mit einem ausgewählten Product anzeigt. Dazu habe ich eine ViewModel genannt ItemDetailsViewModel , die enthält das abgeflachte Item Objekt, eine Liste von ProductViewModel 's und ein abgeflachtes ausgewählt Product .

Die Schwierigkeit, die ich habe, zeigt am besten diese abgeflachte ausgewählte Product .

Denken Sie darüber nach wie eBay, wo Sie eine Item haben und Sie können mehrere Variationen wählen, z. nach Farbe. Für mich sind die verschiedenen Variationen die Products . Wenn der Benutzer die Product auswählt, möchte ich die ItemDetails , d. H. Die Item , die Liste von Products und die ausgewählte Product zurückgeben.

Ich habe mich gefragt, wie ich das am besten machen könnte? Im Moment mappt meine Methode eine Item auf eine ItemDetailsViewModel , wählt die gewünschte ProductViewModel und ordnet dann jede Eigenschaft der ProductViewModel auf die ItemDetailsViewModel zurück. Da die Item und Product dieselben benannten Eigenschaften haben, überschreibt die letzte Zeile, die das Produkt zurückversetzt, die Item s-ID und den Code.

Irgendwelche Vorschläge, wie Sie das Mapping am besten konfigurieren können?

Ich habe die Zuordnung weggelassen, da es sich hauptsächlich um eine direkte Eins-zu-Eins-Zuordnung handelt, abgesehen von der Zuordnung der ausgewählten ProductViewModel zurück zu ItemDetailsViewModel .

%Vor%

Klassen

%Vor%

Aktion

%Vor%     
David 13.01.2014, 08:58
quelle

1 Antwort

0

Eine Lösung wäre, die Eigenschaften in ItemDetailsViewModel in Ihrem Mapping von ProductViewModel auf ItemDetailsViewModel zu ignorieren:

%Vor%     
Andrew Whitaker 13.01.2014, 14:34
quelle

Tags und Links